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

📄 tcommandsetup_unit.pas

📁 这是一个非常实用的实时串口通讯程序
💻 PAS
字号:
unit TCommandSetup_Unit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ToolWin, DB, ADODB, Grids, DBGrids, ExtCtrls, StdCtrls,
  ImgList;

type
  TTCommandSetup_Form = class(TForm)
    ToolBar1: TToolBar;
    ADOQuery1: TADOQuery;
    TreeView1: TTreeView;
    Label1: TLabel;
    Label2: TLabel;
    ImageList1: TImageList;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ImageList2: TImageList;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    procedure ToolButton3Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ValidBtnClick(Sender: TObject);
    procedure InValidBtnClick(Sender: TObject);
    procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  TCommandSetup_Form: TTCommandSetup_Form;

implementation

uses GlbDataModule_Unit, CallMessage_Unit, MAIN_UNIT;

{$R *.dfm}

procedure TTCommandSetup_Form.ToolButton3Click(Sender: TObject);
begin
   Close;
end;

procedure TTCommandSetup_Form.FormShow(Sender: TObject);
var
   RootNode, Node1, Node2 :TTreeNode;
   i : integer;
begin
try
   RootNode := TreeView1.Items.Add(nil,'所有总控机');

   With ADOQuery1 do
   begin
      if Active then Close;
      SQL.Text :='SELECT * FROM TCommandTAB ';
      try
         Open;
         while not Eof do
         begin
           Node1 := TreeView1.Items.AddChild(RootNode,FieldbyName('TCommand_NUM').AsString);
           Node1.SelectedIndex :=0;
           Node1.ImageIndex := 0;

           For i :=1 to 4 do
           begin
             Node2 := TreeView1.Items.AddChild(Node1,IntToStr(i)+'路');
             Node2.SelectedIndex := 1;
             Node2.ImageIndex := 1;
           end;
           Next;
         end;
      except

      end;
   end;
except
end;
end;

procedure TTCommandSetup_Form.ValidBtnClick(Sender: TObject);
var
  Str : String;
begin
   case TreeView1.Selected.Level of
   1: Str :='总控机';
   else
     begin
       CallMessageBox(Application.Handle,PChar('请选择总控机!'),PChar('提示'),1);
       Exit;
     end;
   //2: Str :='总控机'+TreeView1.Selected.Parent.Text+'-路号';
   end;
   if CallMessageBox(Application.Handle,PChar('是否更改'+Str+Treeview1.Selected.Text+'状态!'),PChar('提示'),2) then
   begin
     Case TreeView1.Selected.Level of
     1: begin
         With ADOQuery1 do
         begin
           if Active then Close;
           SQL.Text := 'UPDATE TCommandTAB SET VALID=''1'' WHERE TCommand_NUM='+TreeView1.Selected.Text;
           try
              try
                 ExecSql;
                 Main_Form.ReStartUseful;
              except

              end;
           finally
              if Active then Close;
           end;
         end;
        end;
     {2: begin
          With ADOQuery2 do
          begin
            if Active then Close;
            Case StrToInt(TreeView1.Selected.Text) of
            1: SQL.Text := 'UPDATE TCommandTAB SET FirstStatus=''1'' WHERE TCommand_NUM='+TreeView1.Selected.Parent.Text;
            2: SQL.Text := 'UPDATE TCommandTAB SET SecondStatus=''1'' WHERE TCommand_NUM='+TreeView1.Selected.Parent.Text;
            3: SQL.Text := 'UPDATE TCommandTAB SET ThirdStatus=''1'' WHERE TCommand_NUM='+TreeView1.Selected.Parent.Text;
            4: SQL.Text := 'UPDATE TCommandTAB SET ForthStatus=''1'' WHERE TCommand_NUM='+TreeView1.Selected.Parent.Text;
            End;
            try
              try
                 ExecSql;
                 Main_Form.ReStartUseful;
              except

              end;
            finally
              if Active then Close;
            end;
          end;
        end;}
     End;

      TreeView1.OnChange(Sender,TreeView1.Selected);
   end;
end;

procedure TTCommandSetup_Form.InValidBtnClick(Sender: TObject);
var
  Str :String;
begin
   case TreeView1.Selected.Level of

   1: Str :='总控机';
   else
     begin
       CallMessageBox(Application.Handle,PChar('请选择总控机!'),PChar('提示'),1);
       Exit;
     end;
   //2: Str :='总控机'+TreeView1.Selected.Parent.Text+'-路号';
   End;
   if CallMessageBox(Application.Handle,PChar('总控机状态改为不可用,则其下各路水控机也将不可用,是否更改!'),PChar('提示'),2)=false then
   begin
     Exit;
   end;

   if CallMessageBox(Application.Handle,PChar('是否更改'+Str+Treeview1.Selected.Text+'状态!'),PChar('提示'),2) then
   begin
     Case TreeView1.Selected.Level of
     1:begin
         With ADOQuery1 do
         begin
            try
              if Active then Close;
              Sql.Text :='UPDATE TCommandTAB SET VALID=''0'' WHERE TCommand_NUM='+TreeView1.Selected.Text;
              ExecSql;
            except
            end;
            if Active then Close;
            SQL.Text := 'UPDATE CTMachineTAB  SET CT_VALID = ''0'' WHERE CT_CommandNum ='+TreeView1.Selected.Text;
            try
               try
                  ExecSql;
                  Main_Form.ReStartUseful;
               except

               end;
            finally
               if Active then Close;
            end;
         end;
       end;
     2:begin
         With ADOQuery1 do
         begin
           if Active then Close;
           Case StrToInt(TreeView1.Selected.Text) of
           1: SQL.Text := 'UPDATE TCommandTAB SET FirstStatus=''1'' WHERE TCommand_NUM='+TreeView1.Selected.Parent.Text;
           2: SQL.Text := 'UPDATE TCommandTAB SET SecondStatus=''1'' WHERE TCommand_NUM='+TreeView1.Selected.Parent.Text;
           3: SQL.Text := 'UPDATE TCommandTAB SET ThirdStatus=''1'' WHERE TCommand_NUM='+TreeView1.Selected.Parent.Text;
           4: SQL.Text := 'UPDATE TCommandTAB SET ForthStatus=''1'' WHERE TCommand_NUM='+TreeView1.Selected.Parent.Text;
           End;
           try
             try
                ExecSql;
                Main_Form.ReStartUseful;
             except

             end;
           finally
             if Active then Close;
           end;
         end;
       end;                                    
     End;  
   end;
   TreeView1.OnChange(Sender,TreeView1.Selected);
end;

procedure TTCommandSetup_Form.TreeView1Change(Sender: TObject;
  Node: TTreeNode);
begin
try
  If TreeView1.Selected <> nil then
  begin
    Case TreeView1.Selected.Level of
    0: begin
         Label2.Caption :='未选';
       end;
    1: begin
         with ADOQuery1 do
         begin
           Close;
           Sql.Text :='SELECT * FROM TCommandTAB Where TCommand_NUM ='+TreeView1.Selected.Text+' ';
           Open;
           if FieldbyName('VALID').AsInteger =1 then
              Label2.Caption :='可用'
           else
              Label2.Caption :='不可用';
         end;
       end;
    2: begin
         Label2.Caption :='';
         with ADOQuery1 do
         begin
           Close;
           Sql.Text :='SELECT * FROM TCommandTAB Where TCommand_NUM ='+TreeView1.Selected.Parent.Text+' ';
           Open;
           if FieldbyName('VALID').AsInteger =1 then
              Label2.Caption :='可用'
           else
              Label2.Caption :='不可用';
         end;
       end;
    End;
  end;
except
end;
end;

end.-

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -