这个例子昨天正好看了,话说那本书的例子都很不错~
$ W2 K, y" O. b. T不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。/ c4 V$ A7 k! c) v* ?0 G3 O. t
is
8 a5 F, L$ A1 F' m7 ~; ]4 Z, b i,no,m:integer; --定义整型; _' B- m( O8 L6 l. j3 |& d
Buf:object; --定义object
! v1 N+ y1 r) ?do
% W3 r3 L& }2 V( b m:=0;
. R( {" b% ?' Q1 D6 o no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)
. g! p6 h8 s7 y/ T for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行, R7 }+ G4 D( \- Q7 ~* q J( l
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then
) T3 G% \# O5 C. C @._From:=PartsTable[5,i]; , n! @5 g) `. G
@._To:=PartsTable[6,i]; z, x7 _3 L( [* m2 t, T
if no=PartsNo+PartsTable[2,i] then ( t3 n" A* _( E* E# T0 c$ e
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)
& Y* a( {* D! _/ z$ j1 W
/ J( B" v- ^( ]1 ~7 ^9 v4 w end;* b9 {+ W4 x/ A' o- w' O
i:=PartsTable.YDim+1;5 E; n. |, c, f% K! y! g) U
end;' Q$ i, I* O- m2 a) w
m:=m+PartsTable[2,i];
6 l3 G8 p* Y) X3 u. { next;8 X8 N% a. w% y, y5 x( X6 R
- D U0 t( ~/ _8 i) p( a
Buf:=str_to_obj(sprint("BF",@._From));
- D/ |- Z: A. V/ O @.move(Buf);
4 w3 J6 ]4 y% p9 T0 R5 ^1 r" w& Y- oend; |