这个例子昨天正好看了,话说那本书的例子都很不错~' [, B( w: b" o' S
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。: I) ^( x1 @1 @8 H/ V1 M8 T
is
1 d' |# o# A4 x, D9 U6 o: ?5 V* F i,no,m:integer; --定义整型
9 v; Q8 s& `% p& z Buf:object; --定义object
% `3 I/ G2 ^2 U; M" Edo1 `" V+ v5 q- ~- C0 Q! @
m:=0; a$ s1 H) B9 _
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)
# r; ^% z* @- i5 j1 Q- u for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行4 n% ]8 P B9 m- _, e& A
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then 7 u* K: o9 j9 _6 [" ], t
@._From:=PartsTable[5,i];
2 |! x- r, e' W3 D' p @._To:=PartsTable[6,i];
; z, R" m# T" i; x if no=PartsNo+PartsTable[2,i] then 3 T! c4 t6 M4 p: k9 {' @
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)+ Z0 d8 ?& w8 a s- N
/ |) y, O6 o7 F0 I; c( Y
end;$ M+ F% o+ M! u* I# M9 U8 r
i:=PartsTable.YDim+1;
# C- s, u+ N% d% e' W end;+ {$ o- C( ~4 b& l) I, A, N
m:=m+PartsTable[2,i];- E- p$ O7 U, O, b2 a9 G
next;
2 H1 R" u7 |4 |: q( F; k& i
d9 f* o+ K8 S& e6 g8 P Buf:=str_to_obj(sprint("BF",@._From));( r- m% E; l9 P2 M* R
@.move(Buf);
5 V5 k3 h" l) R7 dend; |