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

📄 mainpay.pas

📁 大型分布式销售管理系统,DELPHI编写,商业源代码,现在已经商用,下载者严禁出售该代码,只可以自己学习,包含数据库文件
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit mainpay;

interface

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

type
  TFrm_mainpay = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    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;
    dsmainvw: TDataSource;
    Panel3: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    btn_delete: TButton;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    GroupBox4: TGroupBox;
    DBGrid1: TDBGrid;
    GroupBox5: TGroupBox;
    Panel2: TPanel;
    btn_brs: TButton;
    btn_qry: TButton;
    btn_clr: TButton;
    btn_prt: TButton;
    qmainvw: TQuery;
    DBComboBox1: TDBComboBox;
    Queryuse: TQuery;
    dsmaintb: TDataSource;
    qmainvwBDEDesigner: TStringField;
    qmainvwBDEDesigner2: TStringField;
    qmainvwBDEDesigner3: TStringField;
    qmainvwBDEDesigner4: TStringField;
    qmainvwBDEDesigner5: TIntegerField;
    qmainvwBDEDesigner6: TCurrencyField;
    qmainvwBDEDesigner7: TCurrencyField;
    qmainvwBDEDesigner8: TCurrencyField;
    qmainvwBDEDesigner9: TCurrencyField;
    qmainvwBDEDesigner10: TCurrencyField;
    qmainvwBDEDesigner11: TCurrencyField;
    qmainvwBDEDesigner12: TStringField;
    qmainvwBDEDesigner13: TStringField;
    qmainvwBDEDesigner14: TStringField;
    qmainvwBDEDesigner15: TDateTimeField;
    qmainvwField: TFloatField;
    cbbsc: TComboBox;
    cbht: TComboBox;
    GroupBox1: TGroupBox;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label13: TLabel;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    cbywy: TComboBox;
    Label7: TLabel;
    DBEdit7: TDBEdit;
    tbmaintb: TQuery;
    uptbmaintb: TUpdateSQL;
    tbmaintbBDEDesigner2: TStringField;
    tbmaintbBDEDesigner3: TFloatField;
    tbmaintbBDEDesigner4: TFloatField;
    tbmaintbBDEDesigner5: TFloatField;
    tbmaintbBDEDesigner6: TStringField;
    tbmaintbBDEDesigner7: TStringField;
    tbmaintbBDEDesigner8: TStringField;
    tbmaintbBDEDesigner9: 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 FormCreate(Sender: TObject);
    procedure btn_brsClick(Sender: TObject);
    procedure btn_qryClick(Sender: TObject);
    procedure btn_clrClick(Sender: TObject);
    procedure qmainvwAfterOpen(DataSet: TDataSet);
    procedure qmainvwCalcFields(DataSet: TDataSet);
    procedure TabSheet2Enter(Sender: TObject);
    procedure btn_prtClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);


  private
    { Private declarations }
      procedure LockEdit;
    //定义函数,来改变各个输入框是否可以编辑,当用户再增加新记录
    //或者编辑记录以前,不可以修改
    procedure UnlockEdit;
    //定义函数,用来让输入文本框可以编辑
    procedure DisableBtn;
    //定义过程,用来使某些按钮失效
    procedure EnableBtn;
    //定义过程,用来使某些按钮有效
    function gettbgcjk():real;
    //生成"特别工程价款"字段的值
    
  public
    { Public declarations }
 
  end;

var
  Frm_mainpay: TFrm_mainpay;


implementation

uses  data, rp_mainpay;



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

//***************以下是自定义的按纽和编辑的可否应用部分*********************
//自定义过程,用来确定每个Edit空间是否可以编辑
procedure TFrm_mainpay.LockEdit;
begin
{       DBEdit1.ReadOnly :=true;
       DBEdit2.ReadOnly :=true;
       DBEdit3.ReadOnly :=true;
       DBEdit4.ReadOnly :=true;
       DBEdit5.ReadOnly :=true;
       DBComboBox1.ReadOnly :=true;}
       panel3.Enabled :=false;
       GroupBox1.Enabled :=false;

end;

procedure TFrm_mainpay.UnlockEdit ;
begin
{       DBEdit1.ReadOnly :=false;
       DBEdit2.ReadOnly :=false;
       DBEdit3.ReadOnly :=false;
       DBEdit4.ReadOnly :=false;
       DBEdit5.ReadOnly :=false;
       DBComboBox1.ReadOnly :=false;}
       panel3.Enabled :=true;
       GroupBox1.Enabled :=true;


end;

//自定义过程,用来确定每个按纽是否可用
procedure TFrm_mainpay.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_mainpay.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_mainpay.btn_firstClick(Sender: TObject);
begin
        if not tbmaintb.Bof then tbmaintb.First ;
end;
//最后一条
procedure TFrm_mainpay.btn_lastClick(Sender: TObject);
begin
        if not tbmaintb.eof then tbmaintb.Last ;
end;
//前一条
procedure TFrm_mainpay.btn_prevClick(Sender: TObject);
begin
        if not tbmaintb.Bof then   tbmaintb.Prior ;
end;
//后一条
procedure TFrm_mainpay.btn_nextClick(Sender: TObject);
begin
        if not tbmaintb.Eof then   tbmaintb.Next ;
end;
//新增
procedure TFrm_mainpay.btn_addnewClick(Sender: TObject);
var
  Present: TDateTime;
begin
        UnlockEdit;
        tbmaintb.append;

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

//人名:
  with queryuse do begin
    if active then close;
    unprepare;
    sql.Clear;
    sql.Add('select 主管,审核,录入 from pub_z_mainpay');
    prepare;
    open;
    last;
    tbmaintb.fieldbyname('主管').AsString:=fieldbyname('主管').AsString;
    tbmaintb.fieldbyname('审核').AsString:=fieldbyname('审核').AsString;
    tbmaintb.fieldbyname('录入').AsString:=fieldbyname('录入').AsString;
  end;
end;
//保存
procedure TFrm_mainpay.btn_saveClick(Sender: TObject);
begin
      with data.zxjxdata do begin
      if not DatabaseJxw.intransaction then DatabaseJxw.starttransaction;
      try
      tbmaintb.ApplyUpdates ;
//      tbmaintb.CommitUpdates ;
      DatabaseJxw.commit;
        //使编辑框和按钮有反应:
        LockEdit;
        EnableBtn ;
        btn_save.Enabled :=false;
        btn_cancel.Enabled :=false;
      except
        DatabaseJxw.Rollback;
        raise;
      end;
     end;
{     tbmaintb.Close ;
    tbmaintb.Open ;
 }
end;


//修改数据
procedure TFrm_mainpay.btn_editClick(Sender: TObject);
begin
      tbmaintb.CommitUpdates ;
       if tbmaintb.Eof then tbmaintb.FindLast ;
        tbmaintb.Edit ;
        //让文本框可以编辑
        UnlockEdit;

⌨️ 快捷键说明

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