这个例子昨天正好看了,话说那本书的例子都很不错~
9 l' h% A9 T9 h不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。2 t1 G7 Y$ H& i% a
is
b E/ V2 ]* A i,no,m:integer; --定义整型
8 q. W$ I+ b5 K( u Buf:object; --定义object
& c. D/ ?% y `7 i/ ldo
- g2 D7 r0 o w& ^5 p, _, @; @ m:=0;
% p9 x0 y- e K8 I9 H, M! F; d no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)3 G9 D, c/ h. v% ~, n
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行
* P$ |; M5 j5 k9 m1 h# x3 r if PartsNo=m and no<=PartsNo+PartsTable[2,i] then
3 J2 Z0 j3 |$ ?/ v: Z9 b @._From:=PartsTable[5,i];
, i7 d2 I" O% x/ r, ~4 o3 |- c( g @._To:=PartsTable[6,i];, I1 l V/ f9 ^
if no=PartsNo+PartsTable[2,i] then
$ }! u3 @+ a4 Q8 f/ a4 _ PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)
8 I( X2 R# Z$ i: v: m6 y; G* @5 s/ P
end;$ ]) [9 L: G/ u6 D0 C' P
i:=PartsTable.YDim+1; {4 a8 c8 ^" P: F
end;
# n, L' K4 S9 s0 @9 U m:=m+PartsTable[2,i]; W6 T; }7 t1 J- M! N; ?/ w
next;& e* U, B ~" e4 T; z, B X4 W
5 g. E$ V: e" \: n# j Buf:=str_to_obj(sprint("BF",@._From));
9 i8 O. O5 |) j5 y( Q1 G @.move(Buf);
, K) B* \! k9 a# A. ?end; |