这个例子昨天正好看了,话说那本书的例子都很不错~
/ W: |; x: i* F5 _) \1 ?% x6 N; X7 _不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。! v T: G3 l2 i; V }/ f& r0 h
is
$ N' D- J# s( N7 l i,no,m:integer; --定义整型
4 H3 l$ d/ m6 n% j. _ Buf:object; --定义object
, q% D& ?# K1 C" Xdo
% j% {& z) Y3 ?: D m:=0;
7 s9 T: n) g% P' ? no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)$ ^; J' f9 g3 u
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行 X- j: X+ z5 P3 Q% j
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then
+ e5 c3 U! m! p @._From:=PartsTable[5,i];
# z/ h, G3 I; x( V* L( i; g @._To:=PartsTable[6,i];3 S# ]1 \2 i' t9 G
if no=PartsNo+PartsTable[2,i] then & Y$ O, |; y4 O! V. w
PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去) P2 L, U# [( w7 d
5 e ^- T9 b* I/ i9 G0 w" z! I end;) t; A3 U2 B% R; P5 Y+ s& L
i:=PartsTable.YDim+1;
. R% M9 [9 r/ A4 c9 w end;+ x9 D8 L- x/ E! ?
m:=m+PartsTable[2,i];
+ S a7 R' u6 i5 O6 W: x$ [ next;. a+ l( f M. E2 U, z; k' @, f, e! Z
, A0 Q; _% p' P( f% t5 D
Buf:=str_to_obj(sprint("BF",@._From));
- R4 v4 P1 s, K$ @) @2 y2 q @.move(Buf); I, f3 n" z8 X
end; |