这个例子昨天正好看了,话说那本书的例子都很不错~
! \& `1 d( A, T不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。2 L7 b# W8 \2 q. o3 C4 {" R, a
is
# Q0 D9 l) }! a3 {+ J$ n i,no,m:integer; --定义整型
7 k) p8 J4 [+ o- z/ ~# L8 [( S Buf:object; --定义object
2 Q5 H* I5 Q) fdo
# A z% B% v' z( b2 I m:=0;+ x! n4 p) C6 I* m1 J
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外); c' [0 U* I' Z6 {# z! m |$ Y5 l
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行7 M* ~- r0 N- l$ b! o
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then & ?# q: M0 H# r: k, _! k* e
@._From:=PartsTable[5,i]; , Y; f' o1 `/ q; t( o
@._To:=PartsTable[6,i];" K- B. ]7 K: z, [; A1 V
if no=PartsNo+PartsTable[2,i] then
6 E9 _$ z. H" u PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)3 d" d$ l; T( c5 l$ q4 C, ]- e
0 M# q4 x; e; f! o5 Q5 M end;, o7 T `$ `$ W+ H
i:=PartsTable.YDim+1;8 E% d- q% w* Q
end;
/ @( i9 l3 ]/ G+ r( z% r3 `2 W m:=m+PartsTable[2,i];8 d1 j, i) `. ]$ \
next;
( } i* |, c! {) Y6 Q% N0 a
: O! `# [ t( t8 L. y Buf:=str_to_obj(sprint("BF",@._From));
8 k; m9 d9 f; h9 ] @.move(Buf);6 ~9 O$ ^$ O6 T1 R. a1 Q" x
end; |