这个例子昨天正好看了,话说那本书的例子都很不错~
" S: N- B5 P8 a2 d6 p7 P: ^( t不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。6 ?- E* O8 ^4 l9 a- a1 M, u) g8 |5 h
is
5 G! b* Y1 D5 T g5 u/ c9 o i,no,m:integer; --定义整型
& {7 t, _4 y7 } Buf:object; --定义object# M4 o5 p4 @0 A" ^# U0 o* r
do- e& k7 z8 |( D' |8 ~4 C" ~
m:=0;
# h7 P+ g5 q, K5 K# E no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)! d$ h$ [8 @0 ]; C( u/ _
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行
' a- k) u8 k% @- h$ K: I if PartsNo=m and no<=PartsNo+PartsTable[2,i] then - i' Y1 T0 H: n9 @& U; N7 v
@._From:=PartsTable[5,i]; ; M m. F+ J! s% }
@._To:=PartsTable[6,i];6 I6 q& ~, J$ C$ ?
if no=PartsNo+PartsTable[2,i] then 2 ^ i0 u7 X4 d2 I3 H0 O; J
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)8 e# L+ B+ C) v# A4 B) ]1 W% E. e
- F$ T+ [ _+ M
end;
9 w2 w5 _' p4 \" c* z+ T i:=PartsTable.YDim+1;9 b& ]% [1 M$ N
end;
) t: \7 U2 {6 W m:=m+PartsTable[2,i];
* O0 y0 g! H3 S' ]1 Z next;
; w8 i' l6 X" B1 m6 K
; G i7 o- F& T8 y& m Buf:=str_to_obj(sprint("BF",@._From));
. m4 {% ]% ]# K @.move(Buf);! _2 z- s$ r9 i' C( f; r
end; |