这个例子昨天正好看了,话说那本书的例子都很不错~
0 _' g# m3 }4 o8 m5 P7 V不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。. T9 Z! y% x8 n
is
8 P r! ^0 r# I( ^) o( g- Z+ @ i,no,m:integer; --定义整型, C, r3 ^7 C F5 u
Buf:object; --定义object! \3 C' U- T6 K( V- r. _
do) b: a* H# f/ u0 I. \
m:=0;" _, U3 f7 b! R7 i
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)/ A) z- v+ r2 f" ]7 P2 L
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行: K1 ?( |* P, w
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then 2 \; q! F& o$ E. s3 j
@._From:=PartsTable[5,i];
% q0 ]4 D! Z8 s4 |$ R @._To:=PartsTable[6,i];5 K2 ~, \3 R' |! c: \
if no=PartsNo+PartsTable[2,i] then ; `( w0 f8 x! H: U% j
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)4 @7 v& z7 W X' [# M, q2 ?
2 D8 @9 n/ I/ ^# k) e" e; i end;
$ F! f, ~' N: F7 _: ` i:=PartsTable.YDim+1;
* m$ v, x- m. k1 h7 C# x end;
! G# o7 m6 f" F" H* z2 d5 p m:=m+PartsTable[2,i];
$ x# u8 g. P3 L- ` next;
6 z9 ~$ N* Z8 c+ x$ S0 L5 m: `
* p; u2 v1 P4 f I" ]; } Buf:=str_to_obj(sprint("BF",@._From));
5 i! D) m+ V: V @.move(Buf);# C% Y5 p: \1 Z
end; |