这个例子昨天正好看了,话说那本书的例子都很不错~- w) O: y6 ~8 G3 e2 {+ {& u7 c
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。& b3 H: f0 c, J$ G! d
is1 R% n$ E, j6 N% ^/ _
i,no,m:integer; --定义整型
+ x9 V C- g: B9 S Buf:object; --定义object
0 R J7 Q. m1 W: z G! l, R" K+ ]do
8 A6 u7 X" @) T/ {6 w1 m5 I m:=0;1 n$ L0 r" |) \' z6 ?, ^+ V
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)* M7 T$ f9 Y* b: H3 e+ ] G
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行" t( w" q: B. ]1 ~( Q
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then
# X1 l* r4 k3 ]7 H @._From:=PartsTable[5,i]; # P. I, k8 o ?# [2 J% M
@._To:=PartsTable[6,i];
# S, C2 ?! z3 f$ j: {5 F: q if no=PartsNo+PartsTable[2,i] then , I( v9 E" n. j
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)7 U, k9 M/ Z1 \( I1 R
8 |/ f1 A# ?& O2 i end;+ u, k" ]' A: r
i:=PartsTable.YDim+1;+ N/ M; M8 t( k; n5 C1 Z
end;. D- f: K2 p! M6 N8 U
m:=m+PartsTable[2,i];4 b2 I% p3 ?% |; e2 g; Z6 }% X
next;
- [5 W4 j' v- z 6 V' x! m# w& Y, t# I3 I, }( L
Buf:=str_to_obj(sprint("BF",@._From));
, Z1 Q' k, X9 [& R- s# ?/ m @.move(Buf);
0 F9 b) n' a2 a7 M9 p) y/ U1 S# s+ Gend; |