这个例子昨天正好看了,话说那本书的例子都很不错~: d4 H8 f3 u( N% U
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。' A' }) Q5 n- h: F
is
" e3 s9 `6 R& `7 d8 Q i,no,m:integer; --定义整型, x& o" {( c* U
Buf:object; --定义object/ l8 l, K3 B" }% M* m
do
. c' I. k L6 l4 j3 Q1 J' [+ ?' J m:=0;7 v! ^! F9 X; a: X) i) h' J1 o6 q
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)) W- _3 x2 U0 G) i) e
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行
' j+ z! w1 g. K! x7 |) P if PartsNo=m and no<=PartsNo+PartsTable[2,i] then
( J! J4 V9 O6 Z @._From:=PartsTable[5,i];
' o; C5 h5 f% `5 K9 D. [ @._To:=PartsTable[6,i];
( j6 V7 H! m& D! B& Q4 g; m if no=PartsNo+PartsTable[2,i] then
8 O# e9 I. ^3 r, x1 z PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)
# f, T! l& q/ c0 w5 F R; r& l) Z% g, \( @. d
end;+ G: t7 c O( |3 _& ^# c
i:=PartsTable.YDim+1;7 a V1 H: u2 Y* b' _) J
end;
F7 S0 t* b1 c m:=m+PartsTable[2,i];/ R' m/ e. F' Q/ `( I
next;! i5 k n' f( ]( H/ b9 N4 Z$ C
1 J: g+ a. y) r# K Buf:=str_to_obj(sprint("BF",@._From));
+ @4 ~; E% B) p' n6 H& P @.move(Buf);5 }+ J0 H% @( R
end; |