这个例子昨天正好看了,话说那本书的例子都很不错~
`, H( u, r9 o! k不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。
; O, p; e- V7 w4 L* u% [is$ }* H3 w3 X( V# @9 y$ N
i,no,m:integer; --定义整型
3 F" P% M( u) J" X Buf:object; --定义object5 J5 c7 N( G" B/ i$ A
do/ ?- h$ {9 j% f6 g
m:=0;( w( R! w& d$ t+ ~' U" ]2 r. h# O
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)
7 g" e) W3 ~) W" O7 f. P$ Z for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行
2 q3 a& X. S. E if PartsNo=m and no<=PartsNo+PartsTable[2,i] then 9 E! z$ e7 }4 f- N8 t6 j
@._From:=PartsTable[5,i]; ! }" {. I W- z; ~' h
@._To:=PartsTable[6,i];" r; r$ N) }& ~" t% N; B1 N1 n
if no=PartsNo+PartsTable[2,i] then # J7 k7 O( {2 v) I4 \, T
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)9 N1 C3 [1 k1 T' t, S1 x/ h3 B
6 P) W v# ]: i3 j% o! F9 U
end;- r6 L8 C) J ^
i:=PartsTable.YDim+1;
4 e1 ~( r% O7 f& t* k% o$ M end;
- }9 | m; {8 T$ e m:=m+PartsTable[2,i];4 e& P( v4 d1 M* S4 I
next;
0 H3 w/ P& @; c6 K9 Y; ? ! u! t- v$ c1 I
Buf:=str_to_obj(sprint("BF",@._From));7 c4 B* a- j8 z! X+ j, y Z& X
@.move(Buf);
8 t- O, [' y) |( g& Z' f1 aend; |