这个例子昨天正好看了,话说那本书的例子都很不错~( Q! D. K) p$ {6 G& p5 l
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。+ r# w0 g3 l) y: W
is
9 T, w5 |% z& N5 m: O i,no,m:integer; --定义整型6 h }" Y6 J0 L
Buf:object; --定义object9 Q. p3 d* _6 \, M5 q8 x1 E1 Y
do5 ]( x- o8 u) a0 w& F
m:=0;
- K1 c+ ^" P. A5 ~, I( U/ Q no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)
H1 I+ n( i. i8 d( a. U" \ for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行( N9 ]' u' N4 c5 w. ^# y# H
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then $ O2 P5 f( @% W/ I R. ? y/ E
@._From:=PartsTable[5,i];
4 M& z7 {6 l& ] @._To:=PartsTable[6,i];4 g1 n6 ]$ v5 {! I2 v% q/ y
if no=PartsNo+PartsTable[2,i] then
1 R, R: p5 A9 o" O* Q& P% i3 ]2 |, l PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)) A- E: I" b8 |( O( h2 r) l$ k
) R/ B: c5 R, T; Q/ v" O1 Q end;
& Z3 p: c! T0 _' C& [! f+ Q9 X i:=PartsTable.YDim+1;6 ]6 t+ \& t) A; ~
end;4 |& k8 b# i" T; m) X ?
m:=m+PartsTable[2,i];4 I, r0 l. s, @: V' T3 c
next;
# C0 A0 L) R, K! { . Y+ p& y$ {" ?2 P
Buf:=str_to_obj(sprint("BF",@._From));
( }3 p8 Z* |! u% M0 u1 c7 i @.move(Buf);
# a% j& \6 Q p' b! Send; |