这个例子昨天正好看了,话说那本书的例子都很不错~
# O9 e0 v% X+ s7 e, F+ x; W, a不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。
& W! f/ T* h: @# L& Z' J" } ?is: Y! x0 ^2 ^% K/ v- G1 X
i,no,m:integer; --定义整型- E! [* `+ l; w0 B5 L. `
Buf:object; --定义object
5 V, k" B: s2 O( [; n- odo* p# T% Q* W9 n( I
m:=0;
) K3 W1 T1 k+ F) _+ A" K' V no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)
. [% l7 H9 Z6 f9 a _ for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行* g1 J i/ x7 Z$ q ?
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then
# V1 u# } p7 J! A" l* e+ z3 C @._From:=PartsTable[5,i]; 9 y, Q6 q# V+ J6 c% U* E( e* n
@._To:=PartsTable[6,i];
9 d3 E. a9 v \# V if no=PartsNo+PartsTable[2,i] then
7 p6 }3 i3 n B( I6 ? PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)8 `' a# i& h3 C% @
& C) }" D" [: B! ?5 k/ q end;
' f" B8 J+ h& C% y( n" ^5 T3 [ i:=PartsTable.YDim+1;
7 V* s: P0 n7 w+ ^' g* I( @ end;) B) o2 R1 \# y; X
m:=m+PartsTable[2,i];" f9 K# ?& j: h
next;
- b6 w! |, c: W " H- ]2 r" X( _6 {- k0 ~
Buf:=str_to_obj(sprint("BF",@._From));3 ~, g- o5 _4 f) @+ ]! R
@.move(Buf);
; f" X/ Z ~$ [/ q' cend; |