设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6644|回复: 2

[求助] 程序问题

  [复制链接]
发表于 2015-11-3 14:58:43 | 显示全部楼层 |阅读模式
以下程序运行时显示有语法错误,我是新手,求帮忙看看哪里有语法错误; B- H0 z8 T7 n. q( F7 Z, N
is
( K+ s, f- M$ F' z/ S        i,j,Rows,Lines:integer;6 [) }7 J4 ^; U( o/ N
        MachineName,BufName:string;. @2 M. l9 Z, p, h6 q
        Machine,Buf:object;# i3 I  D: K" i* g  O( J8 f' {
do  I& _  ~/ t: K/ G: b) }
        if Number_Of_Machine/=D_From_To_Chart.YDim then
1 B- m1 @' r  |$ s7 b  B                inspect messageBox("Number Wrong...,",50,13)
  d6 ^' c# b  \                when 16 then
+ D" b( Y1 ~+ B% l9 m: B! [                        print "Yes";
- Q% e3 J# J; X4 |) }) X+ j$ }5 S                when 32 then
, q5 p* u" ]+ b. P+ C                        print "No";( v0 E/ O6 N$ @/ f" K' k& v. v
                else3 L. Z% Z  Q) C. t8 T
                        print "Cancel";) A& W. N: L0 F/ P, v& }0 w
                end;5 z; {' q6 e; v
        EventController.stop;7 x! V- w: T8 d2 m. m& l% P
end;( a# n+ C1 f% U, X  s
PartsTable.delete;8 N3 N# [; i1 p9 N( \; |6 r
for i:=1 to Number_Of_Machine loop5 a; Z/ N5 F8 G& v* P
        for j:=1 to Number_Of_Machine loop
- k; ~9 F6 g: ?& j7 C. [) s                if j<i then& J$ L0 g' n. U
                        if D_From_To_Chart[j,i]<=0 then
8 M5 {, L7 a+ T5 C$ u                                D_From_To_Chart[j,i]:=D_From_To_Chart[i,j];3 K- E( O) U# |8 |
                        end;# ]  v! M& C! \% t
                else
# T  y7 H, l$ B, ?) I                        if j=i then
! G* P  z6 r  t, I/ U; G                                D_From_To_Chart[j,i]:=0;0 E$ K! `2 w) ]2 y
                        else, Y* h- |6 n- V5 \
                                if D_From_To_Chart[j,i]<=0 then  u9 d1 @$ F" \2 M7 S
                                        messageBox("distence<=0...,",50,13);
2 j9 h+ H1 W- k$ u) E                                        EventController.stop;
1 h, V( p. q, t. p                                end;
: u: G9 C/ b: S1 X, `+ A, \                        end;
* v* O$ Y+ @6 T* l+ ]6 @2 {                end;
' w5 J7 S  E) ]! P        next;/ M3 r0 c8 T0 u& W# c9 @
next;
* A" z  m; T0 A7 u5 A8 O8 F
/ D0 n1 b" }7 M/ k2 A, x/ S1 w& F8 j' |0 oend;% T" |; g7 q! _$ ?/ g

& o3 p: |  l& \) b( g- E    Lines :=0;0 @' |' _5 Q* a9 r, r! ^6 G9 z$ f
        for i:1 to Number_Of_Machine loop
% r( x  ?, a  f# e$ N' e; X* N        Rows :=str_to_num(Omit(MachineSequence[1,i],1,1));
# H" Z1 {) v' x! P! d' u/ Y; a        MachineSequence[2,i]:=Rows;
/ }: I; a: c7 ?; E- Z' T+ L( Y            for j:1 to Number_Of_Machine loop
3 I( B, [, t% y  D                    if W_From_To_Chart[j,Rows]>0 then
6 V/ T' l) Q! {- w7 y                            Lines :=Lines+1;1 C) F* l* e: ^' |8 g. n/ `9 @
                        PartsTable[1,Lines]:=str_to_obj(sprint(".",location.name,".Parts"));/ I" I4 L5 `  Y4 [) w
                        PartsTable[2,Lines]:=W_From_To_Chart[j,Rows];
+ j7 ^1 l7 Z2 L8 b( w$ [; ]                        PartsTable[3,Lines]:=sprint("Parts");# \  q% w- z5 s7 F
                        PartsTable[5,Lines]:=Rows;/ P& P* Q2 i8 G5 I( m! u) P
                        PartsTable[6,Lines]:=j;
% r4 \- y4 H+ g3 B/ Z                end;
& M5 l6 r3 W8 u4 G2 p5 m        next;
4 F7 _1 u( b; H6 W2 D; K4 t1 B        MachineName :=sprint("M",Rows);
6 E: q, L/ O& K7 \4 v" S7 b        Machine:=.MaterialFlow.SingleProc.createObject(current,X_pos_init+D_From_To_Chart[Number_Of_Machine+1,i],Y_pos_init+D_From_To_Chart[Number_Of_Machine+2,i]);
. n5 B+ h9 h! |$ @" ^' N        Machine.Name :=MachineName;7 z2 j% `. S8 G0 ^2 F' x# F
        Machine.ProcTime :=5;5 R* k; V: `" h9 {
        Machine.label :=sprint("machine_",Rows);
- _$ T- l/ K: J; Z2 u, ?        Machine.ExitCtrl :=ref(Leave);6 K/ f0 u. O& g/ g  J& |: ]
       
2 I* b9 e! i# n5 ?2 z. [# D        BufName :=sprint("BF",Rows);
/ K/ W1 p- V$ l3 r* Z4 H        Buf:=.MaterialFlow.Buffer.createObject(current,X_pos_init+D_From_To_Chart[Number_Of_Machine+1,i]-35,Y_pos_init+D_From_To_Chart[Number_Of_Machine+2,i]);
' _7 L5 \5 X/ K8 J' M( h8 ]. l$ f3 T                 Buf.Name :=BufName;
0 E3 D, v7 p1 o4 M5 `! e2 f! Q        Buf.Capacity :=5000;
6 D. s, z( E$ Z        Buf.ProcTime :=0;4 L- ]1 @( ]" v  N. g
        .MaterialFlow.Connector.connect(Buf,Machine);
. u6 S( q3 m, S! i) k$ ]1 ^next;! _- w8 P( M) L* Q! e
end;
. E2 c6 X7 j& o$ S1 q
发表于 2015-11-3 18:23:57 | 显示全部楼层

回帖奖励 +1 金仿真币

end 数量不对 且后面两个for循环 赋值没有等号。。。
 楼主| 发表于 2015-11-4 09:06:13 | 显示全部楼层
老师,我再问一下,哪里的end数量不对啊,我是新手
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2026-3-16 03:59 , Processed in 0.023059 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表