这个例子昨天正好看了,话说那本书的例子都很不错~
- M7 Y- z: E; o) s5 J不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。% Y; P- G( y9 d3 n4 g
is
- _" A. s' a6 Q7 M0 S. V i,no,m:integer; --定义整型
+ m3 r, m2 [8 C8 p3 M Buf:object; --定义object
! u: \6 ?1 B7 A1 N8 k- Z" jdo6 e e- g; L$ [5 S
m:=0;
- P8 i. _# C; J+ I- t" p no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)
* P! B) A: f. C* y# ^) g% x for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行8 r; m/ t& d4 d# d& B
if PartsNo=m and no<=PartsNo+PartsTable[2,i] then
5 [, K* B- k, | @._From:=PartsTable[5,i];
. I# |" ?; J9 j5 v0 }' s @._To:=PartsTable[6,i];, }4 _" N! p E2 a9 N @5 o: T
if no=PartsNo+PartsTable[2,i] then
" }. b- x3 q5 _1 {$ t8 i PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去), W: ?' C+ E$ }+ ~4 T( _- H1 c; U# A
# ^5 W2 }8 t0 G0 p/ W
end; C8 u* Q a/ B o
i:=PartsTable.YDim+1;- ]$ C5 k% R8 G+ \% K3 F2 o: `
end;
3 o& X6 p* T) ]3 @ m:=m+PartsTable[2,i];
( L- F; S! J( }# c6 Q# P. z next;
" D/ F% A/ z; r& Z6 E) {
5 t4 X @9 }3 V! W; R Buf:=str_to_obj(sprint("BF",@._From));
* L0 x8 V# F8 K2 P! ~# p @.move(Buf);" \/ h2 R, \( [, p% q
end; |