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

📄 ufrmbalancemaster.pas

📁 小银行系统
💻 PAS
字号:
unit UfrmBalanceMaster;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, U_child1_1, DB, DosMove, DBTables, DBClient, Provider, ADODB,
  Mask, StdCtrls, Buttons, DBCtrls, Grids, DBGridEh, ExtCtrls;

type
  TfrmBalanceMaster = class(TF_child1_1)
    Label1: TLabel;
    StaticText9: TStaticText;
    StaticText10: TStaticText;
    DBEdit10: TDBEdit;
    StaticText3: TStaticText;
    DBEdit3: TDBEdit;
    StaticText4: TStaticText;
    DBEdit4: TDBEdit;
    ClientDataSet1add_date: TStringField;
    ClientDataSet1add_user: TStringField;
    ClientDataSet1edit_date: TStringField;
    ClientDataSet1edit_user: TStringField;
    ClientDataSet1Cdate: TStringField;
    ClientDataSet1balance: TBCDField;
    DBEdit5: TDBEdit;
    Label2: TLabel;
    MaskEdit1: TMaskEdit;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure MaskEdit1Exit(Sender: TObject);
    procedure DBEdit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBEdit2Exit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure DoInsert;override;
    procedure DoEdit;override;
    procedure DoSave;override;
    procedure DoCancel;override;

  end;

var
  frmBalanceMaster: TfrmBalanceMaster;

implementation
uses U_main,UDM;

{$R *.dfm}

procedure TfrmBalanceMaster.DoInsert;
begin
  inherited;
  MaskEdit1.Text :=f_main.vTodayDate ;
  MaskEdit1.Visible :=true;
  DBEdit1.Visible :=false;

  self.ClientDataSet1.FieldByName('Cdate').AsString := f_main.vTodayDate ;
  self.ClientDataSet1.FieldByName('add_date').AsString :=f_main.vTodayDate ;
  self.ClientDataSet1.FieldByName('add_user').AsString :=f_main.vuser_no ;
end;

procedure TfrmBalanceMaster.DoEdit;
begin
  inherited;
  MaskEdit1.Visible :=true;
  DBEdit1.Visible :=false;
  MaskEdit1.Text := self.ClientDataSet1.FieldByName('Cdate').AsString ;
  self.ClientDataSet1.FieldByName('edit_date').AsString :=f_main.vTodayDate ;
  self.ClientDataSet1.FieldByName('edit_user').AsString :=f_main.vuser_no ;

end;


procedure TfrmBalanceMaster.DoCancel;
begin
  inherited;
  MaskEdit1.Visible :=false;
  DBEdit1.Visible :=true;
end;

//存档
procedure TfrmBalanceMaster.DoSave;
var Sqlstr:string;
  TempAdo : TAdodataSet;
begin
  if (self.ClientDataSet1.State=dsInsert) OR
     (self.ClientDataSet1.State=dsEdit) then
  begin
    if (DBEdit1.Text ='') then
    begin
       showmessage('日期不能为空,请重新输入!');
       dbEdit1.SetFocus ;
       exit ;
    end ;
  end;

  sqlstr:='select count(*) nn from BalanceMaster where Cdate='''+DBEdit1.Text+'''' ;
  TempAdo := TAdodataSet.Create(nil);
  try
    TempAdo.Connection := DM.ADOConnection1 ;
    TempAdo.CommandText := Sqlstr;
    TempAdo.Prepared := True;
    TempAdo.Open;

  if (self.ClientDataSet1.State=dsInsert)  then
  begin
     if TempAdo.FieldByName('nn').AsInteger >0 then
     begin
        MessageDlg('对不起该资料'+char(10)+'在你存档前已经存在.', mtInformation,[mbOk], 0);
        f_main.B_cancel.Click;
        exit ;
     end;
  end;
  if (self.ClientDataSet1.State=dsEdit)  then
  begin
     if TempAdo.FieldByName('nn').AsInteger=0 then
     begin
        MessageDlg('对不起该资料'+char(10)+'在你存档前已经不存在.'+char(10)+'请重新读取资料', mtInformation,[mbOk], 0);
        f_main.B_cancel.Click;
        exit ;
     end;
  end;
  finally
    TempAdo.Free;
  end;

  inherited;
  MaskEdit1.Visible :=false;
  DBEdit1.Visible :=true;
end;


procedure TfrmBalanceMaster.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  self.ADODataSet1.Free ;
  self.ClientDataSet1.Free ;
  self.DataSetProvider1.Free ;
  frmBalanceMaster :=nil ;
end;

procedure TfrmBalanceMaster.FormCreate(Sender: TObject);
begin
  inherited;
  self.ClientDataSet1.Active :=true ;
  self.DBGrid1.Visible:=true ;
  self.Memo1.Visible:=false ;
  MaskEdit1.Visible :=false ;
  DBEdit1.Visible :=True ;
end;

procedure TfrmBalanceMaster.MaskEdit1Exit(Sender: TObject);
begin
  inherited;
  DBEdit1.Text := MaskEdit1.text ;
end;

procedure TfrmBalanceMaster.DBEdit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if key=13 then f_main.B_update.SetFocus ; 
end;

procedure TfrmBalanceMaster.DBEdit2Exit(Sender: TObject);
begin
  inherited;
  if DBEdit2.Text ='' then DBEdit2.Text :='0' ;
end;

end.

⌨️ 快捷键说明

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