这个例子昨天正好看了,话说那本书的例子都很不错~, C; X7 ]& I$ X: ~# T# m2 s
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。9 q4 {1 j M6 y/ S7 N. e4 Q3 J, D
is
. Q0 @) P$ h( u0 \# \" |4 u* } i,no,m:integer; --定义整型5 k/ Y6 K: `9 g6 {5 C E
Buf:object; --定义object" Z2 ^" ?! D4 f: D, q
do$ b6 R9 f! T: b
m:=0;- ]. w: [3 Y1 c& n3 W
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)
9 s5 P" f8 q3 k3 E; o for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行. M& r: a# t2 u3 Z" N2 x
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then " B" j/ C% s# Y1 L" \
@._From:=PartsTable[5,i];
7 c; F8 J3 `! ^9 |! x; H+ P @._To:=PartsTable[6,i];& a! J, T+ b0 ?
if no=PartsNo+PartsTable[2,i] then
7 E2 u9 r1 j& r' n! G- ^" z PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)- r/ l$ z, V) z8 ~6 l
1 e$ r w/ O0 u, v& n. M2 L; d! p end;# ^" \# A" O2 a& Z; C8 Z
i:=PartsTable.YDim+1;* H+ S/ r' G3 N9 u
end;8 S8 T( h6 l" F, b& s& x% u# H
m:=m+PartsTable[2,i];
4 E8 j2 v+ j" t! F1 r) S+ x next;7 Z+ @4 v0 E8 P g% R9 M, B' q
m5 y5 R: [- B9 v! j& b; H4 n. I& O Buf:=str_to_obj(sprint("BF",@._From));9 ?. o/ Z1 p! O( N0 M
@.move(Buf);0 e( f3 a$ T3 q/ }
end; |