这个例子昨天正好看了,话说那本书的例子都很不错~0 A% k# Z. o; k5 c0 q
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。
/ p- S1 a2 [) s: vis
' E, z2 t+ F* L) ]+ S( [3 |( U" a8 S i,no,m:integer; --定义整型
* C$ D- c9 r& b1 D! w Buf:object; --定义object
% C1 G. M9 j$ H m ^do* I! w( _/ ]# r& N- I
m:=0;7 b1 s1 E: `6 D/ ^* R
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)
9 a' ]' ]# Z8 }( U4 R7 T/ @ for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行' N! i3 C; Q X
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then
8 S- U: ^+ j- e3 Q% Z @._From:=PartsTable[5,i]; 2 b2 J* q" P) M* o# g
@._To:=PartsTable[6,i];" E2 e8 G5 r1 E, j5 I$ l3 b
if no=PartsNo+PartsTable[2,i] then % i: y) k' @3 v3 F) m2 H
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)" l: q V1 i3 h/ D# ]5 [6 r
% o; X. V. y& b4 {/ Z
end;0 U: u% a1 m' Q7 `$ ^3 G
i:=PartsTable.YDim+1;
1 i) |, g9 m/ {4 Y" [ end;6 ?, S: u9 d$ C/ V$ i( ^2 y" f0 g
m:=m+PartsTable[2,i];
# S+ N+ v% q" _( R7 } next;1 \" R: X v! D, }
& |5 T# ~1 O; j: c H Buf:=str_to_obj(sprint("BF",@._From));
0 {9 }0 I1 E! v% O) a9 h' c$ q @.move(Buf);+ Z' P5 q. B6 p: ^
end; |