这个例子昨天正好看了,话说那本书的例子都很不错~$ s4 W7 I. _) _4 m) W% r: B+ l' r1 M
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。
0 Y F3 h7 j5 _( S. y: Bis; H; c" X% E& w3 S5 q
i,no,m:integer; --定义整型
+ a/ P' ~$ m8 o& | Buf:object; --定义object. j6 D; J& z7 Q0 R, ?& V3 N
do2 {3 \9 z3 O! L' k! |
m:=0;
% u" k9 H% \& R& t* I t no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)
" L; e& G# ?$ q for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行) R- d! y9 J5 Z& U
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then 8 B5 m! A3 J: T! f
@._From:=PartsTable[5,i]; 4 u! R+ b) y P9 h0 p) Y$ \* l
@._To:=PartsTable[6,i];
* m5 _, v4 s: ]5 u7 H& l, o if no=PartsNo+PartsTable[2,i] then 0 W( G6 L$ t( f1 Q
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)
5 H" f) I- {! r( C5 B' C8 r7 [) s4 L
end;
% I, y! c/ j; R0 J9 L i:=PartsTable.YDim+1;. d C1 V: \9 J1 F, @- o
end;
- K2 V3 R1 i# k/ I" Q' n( j m:=m+PartsTable[2,i];% |, A$ z9 o' \" D/ Q
next;$ A6 _! p8 I+ V7 W7 u- l
3 H6 a3 @( B9 T Buf:=str_to_obj(sprint("BF",@._From));' z3 f! |2 x+ m0 s- @5 Z6 _
@.move(Buf);
" @4 w3 d, R% u4 Oend; |