这个例子昨天正好看了,话说那本书的例子都很不错~( g% Z) M% ~9 }$ [: S
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。% t8 z) R. E |$ ?" I+ H4 v
is
4 s, j+ b$ F( L+ Y i,no,m:integer; --定义整型
5 R/ U, c1 }7 \! v1 h Buf:object; --定义object/ `. `1 ~ o: w- {' Z
do
6 j+ C' d' V/ x" @ m:=0;
# e+ ^9 a* [9 G5 O no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)1 F' j, S J' q, |
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行7 d! N6 x; F5 ^# R, A
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then 2 M% V& H. c/ g) S8 W1 I
@._From:=PartsTable[5,i];
, ^. ~( T2 j5 K1 ^& l/ p: F @._To:=PartsTable[6,i];- w$ {" q1 M5 j
if no=PartsNo+PartsTable[2,i] then 7 O1 F8 S* `4 `9 p% c# ~% [4 G
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)- K( M$ s+ w V* F3 }: x
9 K9 p2 z4 h5 _' g( ]' g: t. l3 }' A
end;: A6 r& J. k3 d2 K0 M ]) s
i:=PartsTable.YDim+1;) Y) j9 B' ~9 a! L
end;
: [6 N# E, y F m:=m+PartsTable[2,i];3 K. L4 Q2 n) N* d! m9 F6 @
next;5 e1 p3 i7 k# z1 D( t; L
2 t6 L4 t& p0 M2 K& [: r$ t Buf:=str_to_obj(sprint("BF",@._From));
; P, R# F m0 H5 \4 Q @.move(Buf);
( ?3 B2 s0 p9 B5 D1 y4 {# a, Iend; |