这个例子昨天正好看了,话说那本书的例子都很不错~
$ X" ~; n6 c6 h/ N- Y不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。1 r) Z. ?; r5 C6 D& s
is' h3 T$ H' ~! u( X, O
i,no,m:integer; --定义整型, z' r% I0 J2 Q" W/ E, I$ R
Buf:object; --定义object) g; {. o+ F4 i! u! v
do
# V8 ^- ^7 C j m:=0;
. H9 {5 ^: n% L% y5 g& x. d no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)1 x' p/ {, T4 ~* ]2 f
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行1 b& G: b* [% |) J
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then " d0 @3 X+ z% J+ p
@._From:=PartsTable[5,i];
/ ?. `: B! I) [$ @: ?% d8 @8 C @._To:=PartsTable[6,i];9 i; b& D+ z' {
if no=PartsNo+PartsTable[2,i] then 4 ?6 o3 ?6 {. Y, _
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)9 c9 }; k: ]8 N; e0 ]! B9 h
. ^, r! o7 g, b# m) E end;( H! G. U$ U( }4 W+ _: d- X f
i:=PartsTable.YDim+1;
& ~8 }9 U. j( k4 j8 b* w- { end;
0 o2 P' E6 v6 d8 b! H2 H3 [ m:=m+PartsTable[2,i];* J9 D! y/ J9 |2 ~5 a
next;
+ q4 N4 U5 k: B0 k 5 H5 J3 S" v- B5 X; b
Buf:=str_to_obj(sprint("BF",@._From));$ j2 M! [: U. g) W0 I; J! Q
@.move(Buf);
3 d- q2 ?9 C$ }- ], \4 {end; |