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

📄 foryearbonus.pas

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

interface

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

type
  Tfrm_foryearbonus = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Panel3: TPanel;
    Panel1: 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;
    btn_delete: TButton;
    TabSheet2: TTabSheet;
    GroupBox2: TGroupBox;
    DBGrid1: TDBGrid;
    qforyearbns: TQuery;
    dsforyearbns: TDataSource;
    Quse: TQuery;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    EditDBEdit2: TDBEdit;
    EditDBEdit3: TDBEdit;
    EditDBEdit4: TDBEdit;
    EditDBEdit5: TDBEdit;
    EditDBEdit6: TDBEdit;
    EditDBEdit7: TDBEdit;
    EditDBEdit8: TDBEdit;
    GroupBox3: TGroupBox;
    cbbsc: TComboBox;
    GroupBox4: TGroupBox;
    Panel2: TPanel;
    btn_brs: TButton;
    btn_qry: TButton;
    btn_clr: TButton;
    btn_prt: TButton;
    DBComboBox1: TDBComboBox;
    Panel4: TPanel;
    Panel9: TPanel;
    Panel8: TPanel;
    Panel5: TPanel;
    Edit1: TEdit;
    Panel6: TPanel;
    Edit2: TEdit;
    Panel7: TPanel;
    Edit3: TEdit;
    Panel10: TPanel;
    Edit4: TEdit;
    Panel11: TPanel;
    Panel12: TPanel;
    Panel14: TPanel;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Query1: TQuery;
    Upforyearbns: TUpdateSQL;
    DBComboBox2: TDBComboBox;
    cbyear: TComboBox;
    GroupBox1: TGroupBox;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label13: TLabel;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit1: TDBEdit;
    qforyearbnsBDEDesigner2: TStringField;
    qforyearbnsBDEDesigner3: TCurrencyField;
    qforyearbnsBDEDesigner4: TCurrencyField;
    qforyearbnsBDEDesigner5: TCurrencyField;
    qforyearbnsBDEDesigner6: TCurrencyField;
    qforyearbnsBDEDesigner7: TCurrencyField;
    qforyearbnsBDEDesigner8: TCurrencyField;
    qforyearbnsBDEDesigner9: TCurrencyField;
    qforyearbnsBDEDesigner10: TStringField;
    qforyearbnsBDEDesigner11: TStringField;
    qforyearbnsBDEDesigner12: TStringField;
    qforyearbnsBDEDesigner13: TStringField;
    qforyearbnsBDEDesigner14: TDateTimeField;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btn_firstClick(Sender: TObject);
    procedure btn_lastClick(Sender: TObject);
    procedure btn_addnewClick(Sender: TObject);
    procedure btn_saveClick(Sender: TObject);
    procedure btn_prevClick(Sender: TObject);
    procedure btn_nextClick(Sender: TObject);
    procedure btn_editClick(Sender: TObject);
    procedure btn_cancelClick(Sender: TObject);
    procedure btn_deleteClick(Sender: TObject);
    procedure btn_brsClick(Sender: TObject);
    procedure btn_clrClick(Sender: TObject);
    procedure TabSheet2Enter(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure btn_qryClick(Sender: TObject);
    procedure qforyearbnsCalcFields(DataSet: TDataSet);
    procedure getotherthree;
    procedure qforyearbnsAfterOpen(DataSet: TDataSet);
    procedure btn_prtClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
      procedure LockEdit;
    //定义函数,来改变各个输入框是否可以编辑,当用户再增加新记录
    //或者编辑记录以前,不可以修改
    procedure UnlockEdit;
    //定义函数,用来让输入文本框可以编辑
    procedure DisableBtn;
    //定义过程,用来使某些按钮失效
    procedure EnableBtn;
    //定义过程,用来使某些按钮有效
  public
  maintain:real;
  deduct:real;
  fare:real;
    { Public declarations }
 
  end;

var
  frm_foryearbonus: Tfrm_foryearbonus;

implementation

uses  rp_foryearbonus, data;//, rp_foryearbonus;



{$R *.dfm}
//***************释放空间********************
procedure Tfrm_foryearbonus.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
        Action:=cafree;
end;

//***************以下是自定义的按纽和编辑的可否应用部分*********************
//自定义过程,用来确定每个Edit空间是否可以编辑
procedure Tfrm_foryearbonus.LockEdit;
begin
{       DBComboBox1.ReadOnly := true;
       EditDBEdit2.ReadOnly := true;
       EditDBEdit3.ReadOnly :=true;
       EditDBEdit4.ReadOnly :=true;
       EditDBEdit5.ReadOnly :=true;
       EditDBEdit6.ReadOnly :=true;
       EditDBEdit7.ReadOnly :=true;
       EditDBEdit8.ReadOnly :=true;
       DBComboBox2.ReadOnly :=true;
       DBEdit3.ReadOnly :=true;
       DBEdit4.ReadOnly :=true;
       DBEdit5.ReadOnly :=true;
       DBEdit1.ReadOnly :=true;    }
       panel3.Enabled :=false;
end;


procedure Tfrm_foryearbonus.UnlockEdit ;
begin
{       DBComboBox1.ReadOnly := false;
       EditDBEdit2.ReadOnly := false;
       EditDBEdit3.ReadOnly :=false;
       EditDBEdit4.ReadOnly :=false;
       EditDBEdit5.ReadOnly :=false;
       EditDBEdit6.ReadOnly :=true;
       EditDBEdit7.ReadOnly :=true;
       EditDBEdit8.ReadOnly :=true;
       DBComboBox2.ReadOnly :=false;
       DBEdit3.ReadOnly :=false;
       DBEdit4.ReadOnly :=false;
       DBEdit5.ReadOnly :=false;
       DBEdit1.ReadOnly :=true;}
       panel3.Enabled :=true;

end;


procedure Tfrm_foryearbonus.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;
end;

procedure Tfrm_foryearbonus.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;
 end;

//***************以上是自定义的按纽和编辑的可否应用部分*********************

//***************以下是按纽操作。*********************

procedure Tfrm_foryearbonus.btn_firstClick(Sender: TObject);
begin
        if not qforyearbns.Bof then qforyearbns.First ;
end;

procedure Tfrm_foryearbonus.btn_lastClick(Sender: TObject);
begin
        if not qforyearbns.eof then qforyearbns.Last;
end;
 procedure Tfrm_foryearbonus.btn_prevClick(Sender: TObject);
begin
        if not qforyearbns.Bof then   qforyearbns.Prior ;
end;

procedure Tfrm_foryearbonus.btn_nextClick(Sender: TObject);
begin
        if not qforyearbns.Eof then   qforyearbns.Next ;
end;
procedure Tfrm_foryearbonus.btn_addnewClick(Sender: TObject);
var
  Present: TDateTime;
begin
        UnlockEdit;
        qforyearbns.append;

        DisableBtn;
        btn_save.Enabled :=true;
        btn_cancel.Enabled :=true;
//给下面审核栏默认值:
//日期:
    Present:= Now;
    qforyearbns.fieldbyname('录入日期').AsString :=datetimetostr(present);

//人名:
  with Query1 do begin
    if active then close;
    unprepare;
    sql.Clear;
    sql.Add('select 主管,审核,录入 from pub_z_foryearbonus');
    prepare;
    open;
    last;
    qforyearbns.fieldbyname('主管').AsString:=fieldbyname('主管').AsString;
    qforyearbns.fieldbyname('审核').AsString:=fieldbyname('审核').AsString;
    qforyearbns.fieldbyname('录入').AsString:=fieldbyname('录入').AsString;
  end;

end;

procedure Tfrm_foryearbonus.btn_saveClick(Sender: TObject);
begin
      with data.zxjxdata do begin
      if not DatabaseJxw.intransaction then DatabaseJxw.starttransaction;
      try
      qforyearbns.ApplyUpdates;
      DatabaseJxw.commit;
      qforyearbns.CommitUpdates ;
        //使编辑框和按钮有反应:
        LockEdit;
        EnableBtn ;
        btn_save.Enabled :=false;
        btn_cancel.Enabled :=false;
      except
        DatabaseJxw.Rollback;
        raise;
      end;

    end;
{     qforyearbns.Close ;
    qforyearbns.Open ;
 }
end;



procedure Tfrm_foryearbonus.btn_editClick(Sender: TObject);
begin
        qforyearbns.Edit ;
        //让文本框可以编辑
        UnlockEdit;

⌨️ 快捷键说明

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