这个例子昨天正好看了,话说那本书的例子都很不错~9 }: o2 U* b, i3 ^! ~$ P' Q
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。% g& P p+ S; _# i* P3 }
is
! a- E& j7 v1 Z1 G2 f i,no,m:integer; --定义整型
( \% e+ P$ @3 _1 W Buf:object; --定义object
1 I4 f# T0 v' gdo7 N4 w# y4 J, e" n8 q' E
m:=0;
- q+ o/ ~0 j- E) h' l- j5 p* c no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)) J* B! D. D8 Y9 K+ [8 }, G3 b
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行1 F! p$ p4 {- R4 g( p
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then
3 }' _: w Y/ P/ b! d, e9 X @._From:=PartsTable[5,i]; : ^- F. u; z$ r: a8 U8 B- y
@._To:=PartsTable[6,i];
) T% [8 X) k& p) s6 I9 b0 A( x if no=PartsNo+PartsTable[2,i] then
5 D9 Y7 v& t! {4 g( Y" O% T PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)+ T, b# ~5 g+ Z& M! T( D6 c0 r
# Y2 d* X& T1 w* t+ I- x$ G" L end;) P o1 m! r. S# L& o
i:=PartsTable.YDim+1;3 T" a9 H/ X4 |: c" \6 d. y
end;
$ e. b6 Q# s! o/ ^/ h m:=m+PartsTable[2,i];) s% @2 t8 Q: E3 P2 f4 Y$ g
next;
* p5 L9 }; u, `6 z* y+ W " [% @* W* `5 I* D' E F9 q* U3 a( v
Buf:=str_to_obj(sprint("BF",@._From));
& K* q! m! F0 i/ m# i @.move(Buf);
, R* R! Y/ l! k% Y" Dend; |