这个例子昨天正好看了,话说那本书的例子都很不错~! J" x* q% p5 A F, ]8 K
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。# v' {6 k- o# ^
is
+ P" f, O. B8 S% M3 P& B i,no,m:integer; --定义整型" n3 c/ I" a- o. i* }; P
Buf:object; --定义object. U/ A# u8 v) \8 {* s- f& U, l
do; T8 b0 L/ S3 {* K, c% p9 v
m:=0;
; H) P9 C7 H; k+ Z0 Q( i4 \% [ no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)
; Y" @% d6 r1 G, U5 A for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行
" O- T4 r8 G4 a9 \/ o- G5 V }, Z if PartsNo=m and no<=PartsNo+PartsTable[2,i] then
4 v8 z. t; k3 Y& N7 m( Y @._From:=PartsTable[5,i];
/ L% q2 W2 j: e' S6 S W @._To:=PartsTable[6,i];' t0 d. s! t0 \
if no=PartsNo+PartsTable[2,i] then
$ K ~) u1 `0 e7 m8 B PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)
( U- r2 X1 X0 K j1 ^' C- C* e: `3 C. ^. @* s" L
end;
, H0 \7 d" u- _6 K5 A: Z) N" L+ L i:=PartsTable.YDim+1;
5 Z, k) w. L. s& E& @ end;
) J4 @ A5 a/ p0 X( y m:=m+PartsTable[2,i];% \& ^4 F* B9 x3 {; j- s# N
next;- T: |2 W5 C7 q/ [% b
& Z$ `, ?( U( c2 f [& O4 |. Z Buf:=str_to_obj(sprint("BF",@._From));( f/ _* h4 Z x$ O
@.move(Buf);
# z+ x& @" P. H& [ ^end; |