📄 ufrmbalancemaster.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 + -