首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Delphi7,怎么编写出能够实时监测机器故障

2012-10-18 
Delphi7,如何编写出能够实时监测机器故障Delphi7,如何编写出能够实时监测多个机器故障,并显示故障,当故障

Delphi7,如何编写出能够实时监测机器故障
Delphi7,如何编写出能够实时监测多个机器故障,并显示故障,当故障排除后,显示故障的地方自动清除相应故障。

[解决办法]

Delphi(Pascal) code
implementation{$R *.dfm}const  liststr: array[0..3,0..9]of string=(  //按着 B1_DI 数组维数定义一个字符数组常量    ('','','','','','','','','',''),    ('','','1号屏地源热泵机组出现故障','','','','1号屏生活热水循环泵1-a出现故障','','',''),    ('','','','','','','','','',''),    ('','','','','','','','','','')    );var  B1_DI: array[0..3,0..9]of boolean;//假设你的这个2维数组是这样定义  faultnum,faultnum1:integer;procedure TMainForm.Button1Click(Sender: TObject);begin  list_message1.Items.Delete(list_message1.Items.IndexOf('abc'));end;procedure TMainForm.addlist1(str_temp: string);begin  list_message1.Insert(0,str_temp+' '+formatdatetime('hh:mm:ss yyyyy-mm-dd',now));end;procedure TMainForm.Timer7Timer(Sender: TObject);  procedure ClearMark(a1,a2:integer);//清除故障提示  var i:integer;  begin    for i:=0 to list_message1.Items.Count-1 do      if pos(liststr[a1,a2],list_message1.Items.Strings[i])>0 then begin //找到含有提示串的行        list_message1.Items.Delete(i);//删除该行        break;//退出循环      end;  end;begin  if B1_DI[1,2]=True then begin //如果 1,2 传感器复位    faultnum:=0;//标志复位    ClearMark(1,2);//清除故障提示  end  else if faultnum=0 then begin //否则,如果 1,2 传感器置位并且标志未置位    addlist1(liststr[1,2]);//添加故障提示    faultnum:=1;//标志置位  end;  //下面语句作用参看上面注释  if B1_DI[1,6]=True then begin    faultnum1:=0;    ClearMark(1,6);  end  else if faultnum1=0 then begin    faultnum1:=1;    addlist1(liststr[1,6]);  end;end; 

热点排行