这个例子昨天正好看了,话说那本书的例子都很不错~' s4 S ~8 |% Y9 t) o
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。
/ q: p. b4 T0 B- v- |8 E; A$ `is
) [: U$ g: ], y7 T* X i,no,m:integer; --定义整型
/ S ~2 `. p' F0 y9 B& h$ H9 O Buf:object; --定义object0 N+ @$ w' g4 K1 G$ D. e
do
) n+ B/ m8 v! @8 j m:=0;
v ?, `8 z; Z! r3 Y2 f no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)# a$ N' B- E: l' k: Q
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行
. ~8 K4 O; Q: B; a' c$ C, ? if PartsNo=m and no<=PartsNo+PartsTable[2,i] then 1 x+ Q$ b- u" b; V k
@._From:=PartsTable[5,i];
5 C) ?, v& t; _- C @._To:=PartsTable[6,i];% }+ y: T$ s6 _+ W: Q
if no=PartsNo+PartsTable[2,i] then ! N% l: n- r5 K" N4 W* |' _
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)9 [4 I2 _ L" I3 E1 T0 z
* Y5 B; y1 {$ s0 l end;1 a$ m' g# X3 b. P/ P! { p3 P
i:=PartsTable.YDim+1;
) N) h/ Q! ~+ X end;
4 n( X6 s" J* U5 U" p m:=m+PartsTable[2,i];
+ I( C' M B" n% G next;
+ W! \9 w2 A- y8 w7 t/ u9 A 7 q8 f" h8 r; a. {+ s T8 _/ X
Buf:=str_to_obj(sprint("BF",@._From));
- e! z$ N0 b r# |5 z$ U+ Q6 e @.move(Buf);
! t! |, c, e% @( ]end; |