📄 monitorcotrol.pas
字号:
unit monitorCotrol;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ComCtrls, Menus, StdCtrls, DB, ADODB, ExtCtrls,
SPComm;
type
TmonitorControl = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBGrid2: TDBGrid;
Label1: TLabel;
CheckBox1: TCheckBox;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
Edit3: TEdit;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
CheckBox6: TCheckBox;
CheckBox7: TCheckBox;
CheckBox8: TCheckBox;
Edit5: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Label3: TLabel;
Label4: TLabel;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
Edit13: TEdit;
Edit14: TEdit;
Edit15: TEdit;
Edit16: TEdit;
CheckBox9: TCheckBox;
CheckBox10: TCheckBox;
CheckBox11: TCheckBox;
CheckBox12: TCheckBox;
CheckBox13: TCheckBox;
CheckBox14: TCheckBox;
CheckBox15: TCheckBox;
CheckBox16: TCheckBox;
Edit4: TEdit;
Edit6: TEdit;
Button3: TButton;
DBGrid1: TDBGrid;
Timer2: TTimer;
Button1: TButton;
Label5: TLabel;
ComboBox2: TComboBox;
Label6: TLabel;
ComboBox3: TComboBox;
Label7: TLabel;
Button2: TButton;
GroupBox1: TGroupBox;
ComboBox1: TComboBox;
Button4: TButton;
Label8: TLabel;
MonitorComm: TComm;
Label9: TLabel;
CbComm: TComboBox;
CbBaudRate: TComboBox;
Button5: TButton;
Button6: TButton;
AlertLight: TLabel;
DataSource2: TDataSource;
ADOQuery2: TADOQuery;
Button7: TButton;
procedure Button1Click(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure TabSheet1Show(Sender: TObject);
procedure WeiHuShow(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
function IsCommSetUp:boolean;
Procedure OnReceiveData(Sender: TObject;Buffer: Pointer;
BufferLength: Word);
procedure Button7Click(Sender: TObject);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure Init(Sender: TObject);
private
bh:array[1..16] of Integer; //@@@
public
procedure InitCombox;
end;
var
monitorControl: TmonitorControl;
MachineNum:Integer;
BHNo:array[0..20] of Integer;
Pos:array[0..15] of string;
State :array[0..15] of string;
rBuf:array of byte;
IsRight:boolean;
implementation
{$R *.dfm}
procedure TmonitorControl.InitCombox;
var strtemp:string;
i:Integer;
begin
comboBox1.Clear;
adoquery1.Close;
adoquery1.SQL.Clear;
strtemp:= 'select DISTINCT BH FROM BJJLB';
adoquery1.SQL.Add(strtemp);
adoquery1.ExecSQL;
ADOQuery1.open;
i:=0;
while not adoquery1.Eof do
begin
i:=i+1;
BHNo[i]:=ADOQuery1.FieldByName('BH').AsInteger;
ComboBox1.Items.Add(ADOQuery1.FieldByName('BH').AsString+'路');
ADOQuery1.Next;
end;
ComboBox1.Items.Insert(0,'-请选择-');
ComboBox1.ItemIndex :=0;
///////////////
comboBox2.Clear;
adoquery1.Close;
adoquery1.SQL.Clear;
strtemp:= 'select DISTINCT RQ FROM BJJLB';
adoquery1.SQL.Add(strtemp);
adoquery1.ExecSQL;
ADOQuery1.open;
while not adoquery1.Eof do
begin
ComboBox2.Items.Add(ADOQuery1.FieldByName('RQ').AsString);
ADOQuery1.Next;
end;
ComboBox2.Items.Insert(0,'-请选择-');
ComboBox2.ItemIndex :=0;
///////////////////
comboBox3.Clear;
adoquery1.Close;
adoquery1.SQL.Clear;
strtemp:= 'select DISTINCT WZ FROM BJJLB';
adoquery1.SQL.Add(strtemp);
adoquery1.ExecSQL;
ADOQuery1.open;
while not adoquery1.Eof do
begin
ComboBox3.Items.Add(ADOQuery1.FieldByName('WZ').AsString);
ADOQuery1.Next;
end;
ComboBox3.Items.Insert(0,'-请选择-');
ComboBox3.ItemIndex :=0;
adoquery1.Close;
///////////////////////////////
CbComm.Clear;
CbComm.Items.Add('COM1');
CbComm.Items.Add('COM2');
CbComm.Items.Add('COM3');
CbComm.Items.Add('COM4');
CbComm.Items.Add('COM5');
CbComm.Items.Add('COM6');
CbComm.Items.Add('COM7');
CbComm.Items.Add('COM8');
CbBaudRate.Clear;
CbBaudRate.Items.Add('110');
CbBaudRate.Items.Add('300');
CbBaudRate.Items.Add('600');
CbBaudRate.Items.Add('1200');
CbBaudRate.Items.Add('2400');
CbBaudRate.Items.Add('4800');
CbBaudRate.Items.Add('7500');
CbBaudRate.Items.Add('9600');
CbBaudRate.Items.Add('14400');
CbBaudRate.Items.Add('19200');
CbBaudRate.Items.Add('38400');
CbBaudRate.Items.Add('56000');
CbBaudRate.Items.Add('57600');
CbBaudRate.Items.Add('115200');
adoquery1.Close;
adoquery1.SQL.Clear;
strtemp:= 'select * FROM TbCommParam';
adoquery1.SQL.Add(strtemp);
adoquery1.ExecSQL;
ADOQuery1.open;
while not adoquery1.Eof do
begin
CbComm.Items.Insert(0,adoquery1.FieldByName('CommName').AsString);
CbComm.ItemIndex :=0;
CbBaudRate.Items.Insert(0,adoquery1.FieldByName('BaudRate').AsString);
CbBaudRate.ItemIndex :=0;
ADOQuery1.Next;
end;
end;
procedure TmonitorControl.Button1Click(Sender: TObject);
var i:Integer;
strtemp:string;
begin
Pos[0]:=Edit1.Text;Pos[1]:=Edit2.Text;Pos[2]:=Edit3.Text;
Pos[3]:=Edit4.Text;Pos[4]:=Edit5.Text;Pos[5]:=Edit6.Text;
Pos[6]:=Edit7.Text;Pos[7]:=Edit8.Text;Pos[8]:=Edit9.Text;
Pos[9]:=Edit10.Text;Pos[10]:=Edit11.Text;Pos[11]:=Edit12.Text;
Pos[12]:=Edit13.Text;Pos[13]:=Edit14.Text;Pos[14]:=Edit15.Text;
Pos[15]:=Edit16.Text;
if CheckBox1.Checked=true then State[0]:='已安装' else State[0]:='未安装';
if CheckBox2.Checked=true then State[1]:='已安装' else State[1]:='未安装';
if CheckBox3.Checked=true then State[2]:='已安装' else State[2]:='未安装';
if CheckBox4.Checked=true then State[3]:='已安装' else State[3]:='未安装';
if CheckBox5.Checked=true then State[4]:='已安装' else State[4]:='未安装';
if CheckBox6.Checked=true then State[5]:='已安装' else State[5]:='未安装';
if CheckBox7.Checked=true then State[6]:='已安装' else State[6]:='未安装';
if CheckBox8.Checked=true then State[7]:='已安装' else State[7]:='未安装';
if CheckBox9.Checked=true then State[8]:='已安装' else State[8]:='未安装';
if CheckBox10.Checked=true then State[9]:='已安装' else State[9]:='未安装';
if CheckBox11.Checked=true then State[10]:='已安装' else State[10]:='未安装';
if CheckBox12.Checked=true then State[11]:='已安装' else State[11]:='未安装';
if CheckBox13.Checked=true then State[12]:='已安装' else State[12]:='未安装';
if CheckBox14.Checked=true then State[13]:='已安装' else State[13]:='未安装';
if CheckBox15.Checked=true then State[14]:='已安装' else State[14]:='未安装';
if CheckBox16.Checked=true then State[15]:='已安装' else State[15]:='未安装';
adoquery1.Close;
for i:=0 to 15 do //MachineNum-1
begin
adoquery1.SQL.Clear;
strtemp:= 'update BJQWHB set WZ='''+Pos[i]+''', ZT='''+State[i]+''' where BH='+inttostr(i+1);
adoquery1.SQL.Add(strtemp);
try
adoquery1.ExecSQL;
except
ShowMessage('修改未完成!');
close;
end
end;
adoquery1.Close;
ShowMessage('修改成功!');
close;
end;
procedure TmonitorControl.WeiHuShow(Sender: TObject);
begin
Edit1.Text:=Pos[0];Edit2.Text:=Pos[1];Edit3.Text:=Pos[2];
Edit4.Text:=Pos[3];Edit5.Text:=Pos[4];Edit6.Text:=Pos[5];
Edit7.Text:=Pos[6];Edit8.Text:=Pos[7];Edit9.Text:=Pos[8];
Edit10.Text:=Pos[9];Edit11.Text:=Pos[10];Edit12.Text:=Pos[11];
Edit13.Text:=Pos[12];Edit14.Text:=Pos[13];Edit15.Text:=Pos[14];
Edit16.Text:=Pos[15];
if State[0]='已安装' then CheckBox1.Checked:=true else CheckBox1.Checked:=false;
if State[1]='已安装' then CheckBox2.Checked:=true else CheckBox2.Checked:=false;
if State[2]='已安装' then CheckBox3.Checked:=true else CheckBox3.Checked:=false;
if State[3]='已安装' then CheckBox4.Checked:=true else CheckBox4.Checked:=false;
if State[4]='已安装' then CheckBox5.Checked:=true else CheckBox5.Checked:=false;
if State[5]='已安装' then CheckBox6.Checked:=true else CheckBox6.Checked:=false;
if State[6]='已安装' then CheckBox7.Checked:=true else CheckBox7.Checked:=false;
if State[7]='已安装' then CheckBox8.Checked:=true else CheckBox8.Checked:=false;
if State[8]='已安装' then CheckBox9.Checked:=true else CheckBox9.Checked:=false;
if State[9]='已安装' then CheckBox10.Checked:=true else CheckBox10.Checked:=false;
if State[10]='已安装' then CheckBox11.Checked:=true else CheckBox11.Checked:=false;
if State[11]='已安装' then CheckBox12.Checked:=true else CheckBox12.Checked:=false;
if State[12]='已安装' then CheckBox13.Checked:=true else CheckBox13.Checked:=false;
if State[13]='已安装' then CheckBox14.Checked:=true else CheckBox14.Checked:=false;
if State[14]='已安装' then CheckBox15.Checked:=true else CheckBox15.Checked:=false;
if State[15]='已安装' then CheckBox16.Checked:=true else CheckBox16.Checked:=false;
end;
procedure TmonitorControl.Timer2Timer(Sender: TObject);
begin
//if PageControl1.ActivePageIndex=0 then
//begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -