这个例子昨天正好看了,话说那本书的例子都很不错~
3 i2 K$ E+ _5 X8 t5 i不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。
, @& N9 |* x" \is8 b7 e5 Q$ ?. O& X& r9 n# V/ ?, K
i,no,m:integer; --定义整型
- _/ I& ]+ _( I- Q% Z' m Buf:object; --定义object
! p% [5 p- r Y; c8 l5 kdo! v; D- G4 |3 Y
m:=0;' F# t2 I# A2 d# h' E! i4 K
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)
7 b* z F$ s# Z& h$ _ A for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行% S! o* T( L$ B# W
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then
4 X/ e: f( I( b5 b3 Y. }3 I* I @._From:=PartsTable[5,i]; % w6 A& x9 t, |& u3 I( q
@._To:=PartsTable[6,i];. T% D! a$ e- O$ V
if no=PartsNo+PartsTable[2,i] then
% k2 S" t5 e. ~2 ] PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)! ]' W, m$ w: u
( V# |: K- \6 c& q4 _ end;( J) s% j3 q3 q+ S7 @* \
i:=PartsTable.YDim+1;" O( @- p7 A7 a
end;+ [% d5 S% L q) y' z
m:=m+PartsTable[2,i];
- @+ k; e }# p; E& E next;- [# @; h/ j: S
3 Z- M' c, n. _( @/ y! \; a
Buf:=str_to_obj(sprint("BF",@._From));
) c" n" z- U; _! U- D8 Q8 b @.move(Buf);
1 e3 h( s9 X( f: iend; |