这个例子昨天正好看了,话说那本书的例子都很不错~' t: \; S% m: W7 ~* S( o6 {9 Z! I, M
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。
0 d- P( R7 X% Z( Z/ Lis- `! Y: ~! R. t- X& O- W' C. X
i,no,m:integer; --定义整型5 {8 A1 i8 j' f) u5 M& q0 x
Buf:object; --定义object+ O( ]4 d& b i' I0 X+ q
do
, E! g- D0 h5 R) r' C m:=0;
# ^0 f, W8 f- i' M no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)# H7 ~; i) R* P4 [0 I
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行" @( K: T& W- t* V
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then 2 `4 ] G0 B9 i; f
@._From:=PartsTable[5,i]; T2 A$ l) Y7 Z* J
@._To:=PartsTable[6,i];4 ]+ V" D0 C; C7 H
if no=PartsNo+PartsTable[2,i] then ' g# L, S( K4 |! Y1 M3 s! Z
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)
f2 v0 s# |$ L) ^0 n/ e, `
/ b# r/ `) M. P9 [* Q& f end;9 }8 M" v0 \5 U. Y B' U; {) o1 K
i:=PartsTable.YDim+1;% w D8 |! e+ K# Y a- _
end;8 z ~* l @; V1 Y& H
m:=m+PartsTable[2,i];6 s( j" V2 g" Y! a" |3 O
next;0 P: H+ |+ l% ]+ I+ i& ]
. b- B. w1 B4 `1 U, _: {4 M Buf:=str_to_obj(sprint("BF",@._From));' d: {# H6 r2 E) i
@.move(Buf);" U( j0 G& z# z3 o0 R4 d7 l+ M- q
end; |