这个例子昨天正好看了,话说那本书的例子都很不错~% @( g. G" M* n1 y" Z. x
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。4 v# O. g M+ C
is
6 B8 G5 y# a- b& `; B i,no,m:integer; --定义整型! A8 E& m5 {' x$ z' O8 b( ?1 ]
Buf:object; --定义object
* F5 v; i- T `0 Edo: t% u0 _* V, w: j8 a
m:=0;6 S: ^7 B- S" \; E. Y H$ w2 x
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外) I, t8 i4 N" g
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行) a! @4 g$ {" [& i Q
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then ; @% o H; e& O: F5 {! {
@._From:=PartsTable[5,i];
9 i& v: \3 b+ o( B) Q' v @._To:=PartsTable[6,i];+ ~" M) ]+ y1 \
if no=PartsNo+PartsTable[2,i] then % W$ v* q0 ?/ R! `6 {
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)
2 \1 F9 x& n2 A; N* }$ X- l7 l3 d& Q& F
end;5 {- E4 G0 {- g
i:=PartsTable.YDim+1;
, D2 z& A# f+ U end;+ y8 }8 k; N2 F* |; A" V
m:=m+PartsTable[2,i];
8 ^/ u7 V4 V% t8 A' r; ~. p" x* S next;2 R/ v: X+ _# j
! F5 X( U4 d) h, v) z- l
Buf:=str_to_obj(sprint("BF",@._From));7 q, B, z; Y8 {! `
@.move(Buf);
6 [ v, s4 w3 Q9 n1 ^end; |