这个例子昨天正好看了,话说那本书的例子都很不错~- ^) w9 X& w0 P: f
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。
C- P9 G4 t7 R3 H2 Tis% M' J. k1 w0 ?; k- c- C
i,no,m:integer; --定义整型( Y& j) ^" i7 b, M
Buf:object; --定义object
$ `0 p7 b9 F$ Y; l% hdo& U( L) d3 ]# `) X' j8 \
m:=0;
0 O& ^0 v8 n: |" B: L; P3 P1 P- y" ` no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)2 j5 W; e* i- B: R$ S, V, g; l2 ~2 Q
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行' R# e! a& L0 B; R6 [# B2 V
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then . J7 L4 l4 _( I0 T ^" f
@._From:=PartsTable[5,i];
- e) p: i, T& F+ [( O3 E. T; y' k @._To:=PartsTable[6,i];
0 {4 y% v+ @* [$ l% j if no=PartsNo+PartsTable[2,i] then
2 k7 \! s# U) L( p+ V& e7 n PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)
- i: V% Z0 T( z; G, `2 R7 m- ^7 q4 q9 x' P( k" k# i! Z
end;
9 _: {: m. N P L- @9 S i:=PartsTable.YDim+1;
" a/ N" i1 \# \6 Q- m7 e8 S0 S$ n end;
) J; m4 ]. q( D+ s0 U. p/ h( E m:=m+PartsTable[2,i];
; ]+ ^+ P4 F4 G8 @- R! z0 Y next;
# @/ z3 L0 I% P , E( |' W/ Z$ x
Buf:=str_to_obj(sprint("BF",@._From));
3 M* Y% O. u' c% w: Z @.move(Buf);) K; g1 ~. Q) Q$ w! U. J% Y# @
end; |