这个例子昨天正好看了,话说那本书的例子都很不错~7 n$ y) V' g9 @* ?" e {7 E
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。6 }. a6 k. i. I* q7 N% M; r% {/ [
is
, L( B2 \- C& i6 U i,no,m:integer; --定义整型
9 x u: Y8 U6 c Buf:object; --定义object
/ L% \5 f& x/ h. z9 [do! [. |" S! _' C/ _7 C. W6 S
m:=0;! D0 z" u l3 E6 F) ]0 o+ V. Z
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)5 h. m) S& y& A! e5 c1 u$ i5 V! A9 R* `
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行
8 G: C0 H5 p x, l0 m if PartsNo=m and no<=PartsNo+PartsTable[2,i] then ! _+ Z" _4 e' x
@._From:=PartsTable[5,i];
5 S R$ B' I$ Q& F( {3 T: q! X0 ~9 l @._To:=PartsTable[6,i];
6 F f$ ]; l) M3 w if no=PartsNo+PartsTable[2,i] then # R2 D. U7 m* A) z
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)6 H. i* m' b8 a$ j* _
, U9 |( }: M0 B& ]$ p
end;' D/ X, m U% a) }2 A5 \
i:=PartsTable.YDim+1;
, n6 q2 j) b! Y% i end;, u9 `. r- N8 e% U0 b, j
m:=m+PartsTable[2,i];
/ p! S5 q6 K; Q8 p# V: D next;, I7 v l- O6 h" y+ x6 O
6 d! G) X% `- m0 T6 `% j9 m
Buf:=str_to_obj(sprint("BF",@._From));
6 ~# l, t8 q+ X0 R( L" M$ o @.move(Buf);) K- V5 `8 a- m9 c5 R: m
end; |