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

📄 contract_cjd.pas

📁 主要是介绍DELPHI三层应用以及分布式数据库的应用
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit contract_cjd;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, DB, DBTables, StdCtrls, Mask, DBCtrls, ExtCtrls,
  Grids, DBGrids, ADODB;

type
  TForm_zx_cjd = class(TForm)
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    DataSource3: TDataSource;
    DataSource4: TDataSource;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Query2: TQuery;
    ScrollBox: TScrollBox;
    Label2: TLabel;
    Label1: TLabel;
    Panel2: TPanel;
    Label95: TLabel;
    GroupBox1: TGroupBox;
    DBGrid1: TDBGrid;
    DBEdit1: TDBEdit;
    Label6: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label7: TLabel;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit3: TDBEdit;
    Label12: TLabel;
    Label13: TLabel;
    Label16: TLabel;
    DBEdit6: TDBEdit;
    Label17: TLabel;
    Label18: TLabel;
    DBComboBox2: TDBComboBox;
    DBComboBox3: TDBComboBox;
    Label19: TLabel;
    DBEdit7: TDBEdit;
    GroupBox5: TGroupBox;
    GroupBox7: TGroupBox;
    DBGrid2: TDBGrid;
    DBGrid3: TDBGrid;
    Query3: TQuery;
    Query4: TQuery;
    Query_contract_client: TQuery;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    GroupBox2: TGroupBox;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    DBEdit13: TDBEdit;
    DBEdit14: TDBEdit;
    DBEdit15: TDBEdit;
    DBEdit16: TDBEdit;
    DBEdit17: TDBEdit;
    DBEdit18: TDBEdit;
    DBEdit19: TDBEdit;
    GroupBox6: TGroupBox;
    Query11111: TQuery;
    DBGrid4: TDBGrid;
    Query1: TADOQuery;
    Panel4: TPanel;
    Button8: TButton;
    Button10: TButton;
    Button9: TButton;
    Panel3: TPanel;
    btn_first: TButton;
    btn_prev: TButton;
    btn_next: TButton;
    btn_last: TButton;
    btn_addnew: TButton;
    btn_edit: TButton;
    btn_save: TButton;
    btn_cancel: TButton;
    Panel1: TPanel;
    btn_first1: TButton;
    btn_prev1: TButton;
    btn_next1: TButton;
    btn_last1: TButton;
    btn_addnew1: TButton;
    btn_edit1: TButton;
    btn_save1: TButton;
    btn_cancel1: TButton;
    Button1: TButton;
    Panel5: TPanel;
    DBComboBox4: TDBComboBox;
    DBComboBox1: TDBComboBox;
    procedure btn_first1Click(Sender: TObject);
    procedure btn_prev1Click(Sender: TObject);
    procedure btn_next1Click(Sender: TObject);
    procedure btn_last1Click(Sender: TObject);
    procedure Query11111AfterScroll(DataSet: TDataSet);
    procedure FormCreate(Sender: TObject);
    procedure btn_addnew1Click(Sender: TObject);
    procedure btn_edit1Click(Sender: TObject);
    procedure btn_save1Click(Sender: TObject);
    procedure btn_cancel1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure DBComboBox1Exit(Sender: TObject);
    procedure DBComboBox1Enter(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure btn_firstClick(Sender: TObject);
    procedure btn_nextClick(Sender: TObject);
    procedure btn_lastClick(Sender: TObject);
    procedure btn_addnewClick(Sender: TObject);
    procedure btn_editClick(Sender: TObject);
    procedure btn_saveClick(Sender: TObject);
    procedure btn_cancelClick(Sender: TObject);
    procedure btn_prevClick(Sender: TObject);
    procedure Query1AfterScroll(DataSet: TDataSet);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure PageControl1Change(Sender: TObject);
    procedure DBComboBox4Exit(Sender: TObject);
    procedure DBComboBox4Enter(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
     procedure query2select;
    //集成定义;
    procedure EnableScrollBox(aScrollBox : TScrollBox);
    procedure DisableScrollBox(aScrollBox : TScrollBox);

    //定义过程,用来使某些按钮失效
    procedure DisableBtn;
   //定义过程,用来使某些按钮有效
    procedure EnableBtn;

  public
    { Public declarations }
     DBComboBox1_str:string;
     new_index,old_index : integer;
     DBComboBox1_index:integer;
  end;

var
  Form_zx_cjd: TForm_zx_cjd;

implementation

uses Unit_wxp, search, Unit_public_jin;

{$R *.dfm}
//

procedure TForm_zx_cjd.query2select;
begin
  //if query1.recordcount<1 then exit;
  //标的物;
    with Query2 do         //biao di wu
    begin
     if active then close;
     unprepare;
     sql.Clear;
     sql.Add('select * from pub_z_contract_machine ');
     sql.Add(' WHERE 合同号 = :hth ');
     sql.Add(' and 型号 not like ''SM%'' ');
     ParamByName('hth').AsString := self.Query1.fieldbyname('合同号').asstring ;
     prepare;
     open;
    end;
     //特别工程
    with Query3 do         //tebie gong cheng
    begin
     if active then close;
     unprepare;
     sql.Clear;
     sql.Add('select * from  pub_z_contract_project ');
     sql.Add(' WHERE 合同号 = :hth ');  // NOT LIKE  ]
     sql.Add(' and 所属机型 not like ''SM%'' ');
     ParamByName('hth').AsString := query1.fieldbyname('合同号').asstring ;
     prepare;
     open;
    end;
   //其他特殊装置;
    with Query4 do         //tebie gong cheng
    begin
     if active then close;
     unprepare;
     sql.Clear;
     sql.Add(' select * from  pub_z_contract_specialties ');
     sql.Add(' WHERE 合同号 = :hth ');  // NOT LIKE  ]
     sql.Add(' and 所属机型 not like ''SM%'' ');
     ParamByName('hth').AsString := query1.fieldbyname('合同号').asstring ;
     prepare;
     open;
    end;


end;

procedure TForm_zx_cjd.EnableScrollBox(aScrollBox : TScrollBox);
var Teller : Integer;
     classname1, classnameshort:string;
     ClassRef: TClass;
begin
   with aScrollBox do
  begin
    For Teller := 0 to aScrollBox.ControlCount -1 do //.ControlCount - 1 do
    begin
      ClassRef :=aScrollBox.Controls[ Teller ].ClassType; //控件类型
      classname1 :=aScrollBox.Controls[ Teller ].ClassName;
      if ClassRef <> nil then
      begin
       if classname1 = 'TDBEdit' then  aScrollBox.Controls[ Teller ].Enabled:= true;
       if classname1 = 'TDBRadioGroup' then aScrollBox.Controls[ Teller ].Enabled:= true;
       if classname1 = 'TDBMemo' then  aScrollBox.Controls[ Teller ].Enabled:= true;
       if classname1 = 'TDBComboBox' then  aScrollBox.Controls[ Teller ].Enabled:= true;
      end;
    end;
  end;
end;



procedure TForm_zx_cjd.DisableScrollBox(aScrollBox : TScrollBox);
 var Teller : Integer;
     classname1, classnameshort:string;
     ClassRef: TClass;
begin
   with aScrollBox do
  begin
    For Teller := 0 to aScrollBox.ControlCount -1 do //.ControlCount - 1 do
    begin
      ClassRef :=aScrollBox.Controls[ Teller ].ClassType; //控件类型
      classname1 :=aScrollBox.Controls[ Teller ].ClassName;
      if ClassRef <> nil then
      begin
       if classname1 = 'TDBEdit' then  aScrollBox.Controls[ Teller ].Enabled:= false;
       if classname1 = 'TDBRadioGroup' then aScrollBox.Controls[ Teller ].Enabled:= false;
       if classname1 = 'TDBMemo' then  aScrollBox.Controls[ Teller ].Enabled:= false;
       if classname1 = 'TDBComboBox' then  aScrollBox.Controls[ Teller ].Enabled:= false;

      end;
    end;
  end;
end;
procedure TForm_zx_cjd.EnableBtn ;
begin
    btn_first.Enabled :=true;
    btn_prev.Enabled :=true;
    btn_next.Enabled :=true;
    btn_last.Enabled :=true;

    btn_addnew.Enabled :=true;
    btn_edit.Enabled :=true;

    btn_first1.Enabled :=true;
    btn_prev1.Enabled :=true;
    btn_next1.Enabled :=true;
    btn_last1.Enabled :=true;

    btn_addnew1.Enabled :=true;
    btn_edit1.Enabled :=true;

end;

procedure TForm_zx_cjd.DisableBtn ;
begin
    btn_first.Enabled :=false;
    btn_prev.Enabled :=false;
    btn_next.Enabled :=false;
    btn_last.Enabled :=false;
    btn_addnew.Enabled :=false;
    btn_edit.Enabled :=false;
    btn_addnew.Enabled :=false;
    btn_edit.Enabled :=false;

    btn_first1.Enabled :=false;
    btn_prev1.Enabled :=false;
    btn_next1.Enabled :=false;
    btn_last1.Enabled :=false;


    btn_addnew1.Enabled :=false;
    btn_edit1.Enabled :=false;

end;


procedure TForm_zx_cjd.btn_first1Click(Sender: TObject);
begin
self.Query1.First;
end;

procedure TForm_zx_cjd.btn_prev1Click(Sender: TObject);
begin
if not self.Query1.Bof then
self.Query1.Prior;
end;

procedure TForm_zx_cjd.btn_next1Click(Sender: TObject);
begin
if not self.Query1.Eof then
self.Query1.Next;
end;

procedure TForm_zx_cjd.btn_last1Click(Sender: TObject);
begin
self.Query1.Last;
end;

procedure TForm_zx_cjd.Query11111AfterScroll(DataSet: TDataSet);
begin
//query2select;
end;

procedure TForm_zx_cjd.FormCreate(Sender: TObject);
begin

    self.Query1.Open;
    Form_zx_cjd.KeyPreview := true;
    unit_public_jin.Setcolor(ScrollBox);

    DisableScrollBox(ScrollBox); //使scrollbox上的控件只读;

 ///////////
  //合同号
  with Query_contract_client  do
  begin
    if active then close;
    unprepare;
    sql.Clear;
    sql.Add('select distinct 合同号  from pub_z_contract_machine ');
    sql.Add(' WHERE 型号 NOT LIKE ''SM%'' ');  // NOT LIKE
    prepare;
    open;
    DBComboBox1.Items.Clear;
    while not eof do
    begin
      DBComboBox1.Items.Add(fieldbyname('合同号').AsString);
      next;
    end;
  end;
end;

procedure TForm_zx_cjd.btn_addnew1Click(Sender: TObject);
begin
        EnableScrollBox(ScrollBox);
        DisableBtn;
        self.Query1.Active:=true;
        //self.Query1.RequestLive:= true;
        self.Query1.Append ;

        btn_save1.Enabled :=true;
        btn_cancel1.Enabled :=true;
        DBEdit1.SetFocus;
end;

procedure TForm_zx_cjd.btn_edit1Click(Sender: TObject);
begin
        EnableScrollBox(ScrollBox);
        self.DBComboBox4.Enabled:=false;
        
        DisableBtn;
        self.query1.Edit ;

        btn_save1.Enabled :=true;
        btn_cancel1.Enabled :=true;
        btn_save.Enabled :=true;
        btn_cancel.Enabled :=true;
end;

procedure TForm_zx_cjd.btn_save1Click(Sender: TObject);
begin
        self.Query1.post ;

        btn_save1.Enabled :=false;
        btn_cancel1.Enabled :=false;
        btn_save.Enabled :=false;
        btn_cancel.Enabled :=false;
        //锁住所有文本框

        EnableScrollBox(ScrollBox);
        //使按钮有效
        EnableBtn ;

        btn_addnew1.Enabled :=true;
        btn_edit1.Enabled :=true;

        btn_addnew.Enabled :=true;
        btn_edit.Enabled :=true;
end;

procedure TForm_zx_cjd.btn_cancel1Click(Sender: TObject);
begin
      self.Query1.Cancel ;

      EnableBtn;
      DisableScrollBox(ScrollBox);

⌨️ 快捷键说明

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