这个例子昨天正好看了,话说那本书的例子都很不错~
$ z) p- X3 u7 Y" R3 L4 c8 c/ I' O" g7 ]不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。" }) X9 j( |, u; p, ]9 J- X
is; l3 T5 `! ~2 E L# `
i,no,m:integer; --定义整型
" s2 ?5 i) T) M( K! b Buf:object; --定义object* H+ f# {6 A! i
do; G C, B3 _# t8 f4 {. z* p* u4 w
m:=0;) U N( B* v# r
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外); E& I" q3 E, q% y: n7 Q
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行
8 Q8 O O& t- H0 f: X" u$ J" u, b, K if PartsNo=m and no<=PartsNo+PartsTable[2,i] then 3 ?, v' P! j0 B) E
@._From:=PartsTable[5,i];
# }; E7 G% @. r* R- _6 ~+ I' t4 A8 _3 h @._To:=PartsTable[6,i];1 u! F& e n" R
if no=PartsNo+PartsTable[2,i] then 9 `! |+ s3 r v J$ g
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)
& [* E" Z1 M6 J v Z: A
& `9 o; m2 c1 y. {# T end;9 F- k0 i, ^- e. V$ H
i:=PartsTable.YDim+1;- \( s. G+ _. X. C, P
end;4 W% L4 L5 d( d$ `
m:=m+PartsTable[2,i];
; x, L; f) j: s- P next;
% [7 @& u* r4 j( S( K; R3 O 4 S$ {+ J7 K, U
Buf:=str_to_obj(sprint("BF",@._From));' n% Q9 g7 y! d6 ?7 _
@.move(Buf);
" o0 F6 x$ p: T* M: Yend; |