这个例子昨天正好看了,话说那本书的例子都很不错~) e3 N% j. n5 g/ \! {$ Q
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。7 p- d9 h) ?. `7 T4 ?8 b
is
+ x, |% V1 C: ~. O ~7 B i,no,m:integer; --定义整型: Y6 _: e/ N+ {: D* r0 g$ z( d; V8 y
Buf:object; --定义object" h0 O! ]! p; U" N! v' r5 M$ C
do
, R* Q n! f( L0 [- V; l7 o m:=0;. {/ B# \4 I P/ L2 S( J
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)
9 H# [# I! K- Q. I& O a for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行
& A# Z/ M" m8 E) V6 l+ y if PartsNo=m and no<=PartsNo+PartsTable[2,i] then * P- i2 _ r4 h) }
@._From:=PartsTable[5,i];
' s- r+ K' m% K4 t5 r @._To:=PartsTable[6,i];
8 C/ @, x* Q8 x& }( z; Y if no=PartsNo+PartsTable[2,i] then
, I. }2 ]2 U8 C6 r+ j$ K$ \ PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)2 P( _, }& h% X1 h T3 J
2 J, _+ w& f! O$ f( ^' o end;
/ K T* ~- r$ s1 `4 @6 }" G3 z i:=PartsTable.YDim+1;* L9 d1 m S6 }/ Z7 {: n
end;
' b! n% v, F2 I; |* b* ~% f m:=m+PartsTable[2,i];. c& C. g; v8 N9 b! S2 T0 T
next;9 n( S4 \8 Q" C" ^- ]& U
, L9 s @# D) p7 |, T0 j
Buf:=str_to_obj(sprint("BF",@._From));2 p. {* H0 U; R3 D
@.move(Buf);
' a3 ?" X7 B! N; w$ Wend; |