| 这个例子昨天正好看了,话说那本书的例子都很不错~) Q2 n! R3 X. j0 B! A 不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。
 ( H) d, X1 y- t  l4 C7 A# vis/ Q, ]- {9 \" w7 h# @. D  k
 i,no,m:integer;       --定义整型/ a9 N! ~8 A1 n1 _2 b' o
 Buf:object;            --定义object
 7 b. D2 J; D/ Q/ A- W! vdo
 0 F( k" T1 ?6 u* x3 s/ `        m:=0;" Y# n- M! {* ]5 g) ^, E
 no:=@.getNo;   --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)* ?$ Y5 Y. C; M7 Z. f! d
 for i:=1 to PartsTable.Ydim loop       --YDIm就是指这个表格一共多少行
 2 f& }5 }. u# N+ Z7 e                if PartsNo=m and no<=PartsNo+PartsTable[2,i] then  ( x9 O1 ~! x2 A9 K0 o$ V" d
 @._From:=PartsTable[5,i];
 . s& @3 f  W7 x; i) V                        @._To:=PartsTable[6,i];
 , O$ Q* G9 W  _3 _/ J7 J                        if no=PartsNo+PartsTable[2,i] then
 $ n4 }6 K8 k, A                                PartsNo:=PartsNo+PartsTable[2,i];  --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去). C6 l, y' [1 e0 K5 W6 C4 t
 
 ' V0 g$ Q4 \' h9 @. B9 @) k                        end;
 " @1 u# _' L6 G* i                        i:=PartsTable.YDim+1;
 0 l0 w: C, [7 T% S2 }                end;
 # |" I, o; Y' q                m:=m+PartsTable[2,i];
 ; M1 B7 E2 O6 @1 r        next;" x& {$ L# w5 Q
 2 W" Z9 x& B) M; \2 R: W
 Buf:=str_to_obj(sprint("BF",@._From));
 t3 W' }) A8 l5 g! v7 D        @.move(Buf);% Z2 |5 k8 }. b/ v  x" a
 end;
 |