⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 monitorcotrol.pas

📁 报警地图电子显示源代码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -