这个例子昨天正好看了,话说那本书的例子都很不错~) l8 E) q$ G& R0 u
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。+ j7 L( m' Z8 J! M( K' {: E
is# p! q+ B) y5 m# i) B T0 E
i,no,m:integer; --定义整型; C, \' T0 E- V
Buf:object; --定义object6 f& r [* |) ?
do; _, {- m$ D, U6 v; @: Y7 k) Z- [
m:=0;
& B( l, J; v3 y& D' |" M no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)2 }; K# Z* e; E7 k
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行3 \' h# u; w0 }' v9 \& s
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then " ]5 N7 Q) F7 s
@._From:=PartsTable[5,i];
/ n6 u/ O5 N( a+ E$ z8 A @._To:=PartsTable[6,i];; S* S! M; I" {/ U. c, b
if no=PartsNo+PartsTable[2,i] then ) m. S6 y6 X& b5 l& }5 l4 m/ Q
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)/ L* X# Y5 S& P7 ?5 R
) W$ y W* g# r( {* O- A5 T. B
end;8 e" w* Q% N) T: ?7 `: q
i:=PartsTable.YDim+1;
# A4 Z/ X% C. {+ Q2 p( ?% p3 d end;
* }, C5 `* b( V m:=m+PartsTable[2,i];
+ N6 }7 e+ L! q& i: O' [& b, f next;( C9 t" C8 w+ ~8 Y
2 S" \; @8 w9 i. i# w2 V4 Q S: l
Buf:=str_to_obj(sprint("BF",@._From));% Z0 s$ |; v: ^
@.move(Buf);
# t$ W, [; J8 l+ h; kend; |