这个例子昨天正好看了,话说那本书的例子都很不错~
8 M# G& u) M. a' i不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。: G( T% Z1 _. x8 z; c
is) q+ g9 R* G: X5 R- d' T6 [
i,no,m:integer; --定义整型
) D v6 E- n; m- O0 N Buf:object; --定义object
G' {/ x: s, tdo
' |2 c. H$ K4 A% Q2 e1 Z m:=0;; n' \; ?4 S5 J2 \$ n$ N
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)+ n( K3 Y4 ]3 A; ?; D9 X" Y, `; c
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行
; G9 I, x, J) A if PartsNo=m and no<=PartsNo+PartsTable[2,i] then 6 j+ r/ M, ? u1 R s
@._From:=PartsTable[5,i]; , ]0 @. E$ _" {8 X
@._To:=PartsTable[6,i];0 M8 ~3 d8 ~$ d4 Q, O% H ?0 q% \
if no=PartsNo+PartsTable[2,i] then
- h+ @7 K8 j& {) f4 o8 Y5 p PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)1 D8 Q; |8 V/ G; I
0 p/ g2 Y8 e( c& j# F
end;
& }9 n) D u0 f8 w, F% a$ [ i:=PartsTable.YDim+1;0 R. U A* R7 h# v+ v
end;/ T/ z! J1 A8 s/ s
m:=m+PartsTable[2,i];
: x; U' y% ` R3 D& W8 P next;
$ I* Y$ V& ?2 M& ]) u$ m( A+ Y
/ {! N4 h) }% l1 R9 ~ Buf:=str_to_obj(sprint("BF",@._From));
2 w% \7 f* i& }7 r. o: d& b# C @.move(Buf);& Q1 K5 f" b$ j
end; |