这个例子昨天正好看了,话说那本书的例子都很不错~9 I1 }: s" }* E0 E, t: p M
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。
% n5 A9 m( W+ tis
0 X5 h! a$ s, M- ^. Q i,no,m:integer; --定义整型, M3 l r: p4 O% W9 a
Buf:object; --定义object0 G7 y8 @ e- n- z8 J
do
" t6 F. I W4 k F5 m t$ I- b8 P) ` m:=0;& m8 y* \* H* i8 C. h( N9 ^1 P! p
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)
, c" b; I* _( L) C( D6 S* m9 ` for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行
3 M- ?, m# \% {: T) Q if PartsNo=m and no<=PartsNo+PartsTable[2,i] then
: p' w7 s" W! [( k7 ~, o @._From:=PartsTable[5,i]; + h0 H h6 Y+ R7 c4 n# G
@._To:=PartsTable[6,i];
V% } Z( f- k5 O9 Q: t. v if no=PartsNo+PartsTable[2,i] then
) n3 ]1 {# p$ i+ _1 T PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)9 [% D& X0 [# \ u3 h8 m+ o
2 h. d: ]# S$ I5 J, F) K end;
8 Q& U5 @* l+ P- f8 u3 r% F) y+ d i:=PartsTable.YDim+1;8 h8 C4 l& }9 N" S
end;+ E; y, M2 o6 i9 s, G$ C
m:=m+PartsTable[2,i];/ f. s6 N' b/ D5 i7 I
next;" U, ]# A9 ?" b4 L: {" l
1 {& u; r8 {! ] T% {1 R Buf:=str_to_obj(sprint("BF",@._From));" f4 V0 q' Z- p- @3 U$ D2 @
@.move(Buf);( r. } T: y7 X* P3 l& P
end; |