这个例子昨天正好看了,话说那本书的例子都很不错~- ~! u( y1 h \
不过你还得把前面的表格看明白了才行,不然我这边解释也不行的。7 g& e$ A1 O9 p6 @* T
is
& b' S" w* [0 F% T, U# S i,no,m:integer; --定义整型8 w5 w a; X+ t' D8 A4 P
Buf:object; --定义object/ ? \8 E5 b5 d! W4 w1 Z/ \3 B0 f
do3 r$ z+ @1 b+ y/ b3 n; E
m:=0;0 x4 o+ {# J( p8 N% o6 U
no:=@.getNo; --拾取进入系统的实体编号(每一个物体系统都会默认的给他一个编号的,出来你自己定义外)- c4 w) }, x2 `+ c! z7 F8 I, i- D
for i:=1 to PartsTable.Ydim loop --YDIm就是指这个表格一共多少行
7 W) f" R6 R1 t! T& V' F2 v if PartsNo=m and no<=PartsNo+PartsTable[2,i] then
1 ?: q1 [7 V. \, t$ ?" G! b @._From:=PartsTable[5,i];
7 V, d5 w% `9 q/ k, v" e @._To:=PartsTable[6,i];
9 ^+ h1 p3 e( ?% a if no=PartsNo+PartsTable[2,i] then
+ H5 \) t( C8 L4 w+ \1 y, O PartsNo:=PartsNo+PartsTable[2,i]; --这边整个语句实际就是在说,PartsNo就是要运送的数目(表格第二列的都是运送数目),而no与m就是用来辅助不断向下读取表格的数据的(这个逻辑你要自己推敲,说的话可就长了,把数字一个个带进去)
! |4 {& |0 Q e- t1 I/ ~1 l" `# r/ S% I' U
end;
8 H3 E! J1 u! z! H; [0 U2 D i:=PartsTable.YDim+1;
' ?, I7 C2 F0 S& P3 `0 Y4 J end;
5 z, @* k! y3 b2 C$ p3 ^- d5 j m:=m+PartsTable[2,i];, b; P. z) O- M7 P* w
next;
! \2 j" m ^; t' @; p9 U
D/ a9 h0 ~4 ~- W Buf:=str_to_obj(sprint("BF",@._From));
9 c( d: s& I3 P( T& J* A$ b4 A @.move(Buf);: Y `3 {6 ~# B" v2 N0 v' e, P
end; |