这个例子昨天正好看了,话说那本书的例子都很不错~3 G/ r2 S/ U2 R/ l" u/ }' X- z% i
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。& m$ p! G6 S! w8 N5 n9 R3 @# A
is/ e+ Z$ }) Q+ M# s
i,no,m:integer; --定义整型
" {# E6 c# W! o, _9 J; o+ a/ o Buf:object; --定义object# @% P. j2 C7 j6 t% O
do
$ }$ r/ v4 w; b6 k2 l) `( h" {* p6 Z m:=0;5 `+ p) E: H$ b$ s+ x9 D
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)
, t& l2 Y/ U) _- J' o/ i" Q# h) F2 _ for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行
: E8 H+ `! Q4 N5 x if PartsNo=m and no<=PartsNo+PartsTable[2,i] then 2 ~/ P! g8 \" o. d! J; @# g$ l3 {+ n
@._From:=PartsTable[5,i]; + @! [6 ~4 r0 ~( {4 x) D& t# O
@._To:=PartsTable[6,i];. C8 A. G4 g8 p5 C2 N# T
if no=PartsNo+PartsTable[2,i] then 5 k+ M0 k8 q6 H7 g: ^
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去), j2 P( ?, c& [0 I+ J
) b' ?0 c' Z. B& [7 q0 F
end;% x4 u+ W1 B, p: o! `
i:=PartsTable.YDim+1;" L% N( e8 e: ?( O' k
end;4 b- ]/ s& W: [
m:=m+PartsTable[2,i];
6 }4 S- p( M, @; ], @# w next;3 k/ B! {$ x$ j
8 A; W/ s1 c7 e5 y) R
Buf:=str_to_obj(sprint("BF",@._From));
r3 J0 q. |, t. E3 ]( ^ @.move(Buf);
9 a6 Y/ P5 i7 V9 ~7 Q/ f) tend; |