这个例子昨天正好看了,话说那本书的例子都很不错~7 w; x/ a4 |) p" e6 e) h
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。4 l& `2 O |4 Z& E" p9 x6 H* j, j) Z' |/ B
is
+ j/ W! q. T" Y2 J4 D! g! z$ k9 W! p W i,no,m:integer; --定义整型
, } I4 b7 P* ^+ V; V Buf:object; --定义object+ u% v" S% `7 U" u) B( _
do! o* s$ {. x4 e/ ]' r: g
m:=0;
8 ^! c' |1 e! ?0 K no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)6 r/ n% _+ a* D% ], B: Y7 w
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行
X. x" f( q- G: ~ if PartsNo=m and no<=PartsNo+PartsTable[2,i] then - S, H8 N! Q1 D3 u, E
@._From:=PartsTable[5,i]; / |3 S( _9 q4 u; t" N$ v& U
@._To:=PartsTable[6,i];8 Y- W! f4 `. L
if no=PartsNo+PartsTable[2,i] then
: ^9 z8 `+ e) d PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)" x2 D" f9 \" ^# n; u B& o
& q) P3 j3 a8 a. I8 T1 R end;
! Q# N& y; F3 @2 u" n' L i:=PartsTable.YDim+1;
( l6 ]) v1 C/ d: ] end;
, Z b) o/ {) s! ]( v. V. p1 H m:=m+PartsTable[2,i];
8 S* y" B1 g. M- n next;, @+ ]# \2 `) C3 ?, I$ j* B3 y
& B, V4 m2 ^9 K# W$ W7 V. C; y Buf:=str_to_obj(sprint("BF",@._From));
2 \; n- T: ~( ~# g, h @.move(Buf);
6 [( S5 N5 T# v$ V; zend; |