这个例子昨天正好看了,话说那本书的例子都很不错~
8 K! ~# c+ l% y3 ]. Y不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。
9 T/ r. y1 W6 u5 @. his
2 ~% E2 @1 O* ^' j( t i,no,m:integer; --定义整型
5 R* s- |) n; ]7 F Buf:object; --定义object0 ]5 F! N9 c5 J- n: O" Y: z
do0 E2 l# d% c3 m2 h# _
m:=0;
- h# O" ]; I' R$ A' u no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)2 O3 A( E6 G$ }' D# o6 \8 \# M* Y5 h
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行
8 t/ {( w0 U/ ~& X. @ if PartsNo=m and no<=PartsNo+PartsTable[2,i] then
! T! a2 \. Z: w- y( b8 _& x: @ @._From:=PartsTable[5,i]; " R, p& R2 k z7 X0 w, w/ h
@._To:=PartsTable[6,i];
l1 H9 l/ l$ X" N/ _ if no=PartsNo+PartsTable[2,i] then 6 ~: m, w6 J6 N& U
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)3 o# j9 P. |( c% n" X
( X" n. V/ r, j# J3 ? end;
! K' V8 N) H3 R8 Y4 W i:=PartsTable.YDim+1;
, V4 R9 G' H, j, |# g end;
: k+ Q6 T; m$ T2 I( k m:=m+PartsTable[2,i];+ E& x" r1 ^& N( G) ?- S
next;+ L6 ?! |4 m" g* c- D f$ w# G
/ W! |$ s. A8 P4 u, Y
Buf:=str_to_obj(sprint("BF",@._From));. @( O5 L( x5 r+ f& A" r5 }& \
@.move(Buf);- k" f8 i) G+ W6 H5 O, _) ^: \
end; |