dwxx.pas
来自「销售帐目管理」· PAS 代码 · 共 201 行
PAS
201 行
unit Dwxx;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, SUIDBCtrls, SUIButton, ExtCtrls, Grids,
DBGridEh, SUIForm, SUIDlg, ImgList, ActnList;
type
TFrmDwxx = class(TForm)
suiForm1: TsuiForm;
grp1: TGroupBox;
DBGridEh1: TDBGridEh;
pnl2: TPanel;
pnlControl: TPanel;
suiButton1: TsuiButton;
suiButton2: TsuiButton;
suiButton3: TsuiButton;
suiButton4: TsuiButton;
suiButton5: TsuiButton;
suiButton6: TsuiButton;
DBGridEh2: TDBGridEh;
actlst1: TActionList;
actAdd: TAction;
actEdit: TAction;
actDel: TAction;
actUndo: TAction;
actSave: TAction;
actExit: TAction;
il1: TImageList;
suiMessageDialog1: TsuiMessageDialog;
pnl3: TPanel;
Label3: TLabel;
Label1: TLabel;
suiDBEdit1: TsuiDBEdit;
suiDBEdit2: TsuiDBEdit;
procedure FormCreate(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure actAddExecute(Sender: TObject);
procedure actEditExecute(Sender: TObject);
procedure actDelExecute(Sender: TObject);
procedure actUndoExecute(Sender: TObject);
procedure actSaveExecute(Sender: TObject);
procedure actExitExecute(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmDwxx: TFrmDwxx;
implementation
uses DataModule, PubUnit;
{$R *.dfm}
procedure TFrmDwxx.FormCreate(Sender: TObject);
begin
ChangeInterface(Self, suiForm1);
SetReadOnly(Self,True,suiForm1.Color);
end;
procedure TFrmDwxx.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Key := #0 ;
Perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TFrmDwxx.actAddExecute(Sender: TObject);
begin
SetReadOnly(Self, False , clWhite);
DataModule1.tbl_Dwxxb.Append ;
suiDBEdit1.SetFocus ;
DBGridEh1.Enabled := False ;
end;
procedure TFrmDwxx.actEditExecute(Sender: TObject);
begin
DBGridEh1.Enabled := False ;
SetReadOnly(Self, False , clWhite);
DataModule1.tbl_Dwxxb.Edit ;
suiDBEdit1.SetFocus ;
end;
procedure TFrmDwxx.actDelExecute(Sender: TObject);
var Str : string;
begin
DBGridEh1.Enabled := False ;
Str := DataModule1.tbl_Dwxxb.fieldByName('单位名称').AsString ;
with suiMessageDialog1 do
begin
Caption := suiForm1.Caption ;
ButtonCount := 2;
Button1Caption := '是';
Button2Caption := '否';
IconType := suiHelp ;
Text := '是否删除'+Str+'?';
if ShowModal = mrCancel then Exit ;
end;
DataModule1.tbl_Dwxxb.Delete ;
SetReadOnly(Self, True, suiForm1.Color);
end;
procedure TFrmDwxx.actUndoExecute(Sender: TObject);
begin
DBGridEh1.Enabled := False ;
with suiMessageDialog1 do
begin
Caption := suiForm1.Caption ;
ButtonCount := 2;
Button1Caption := '是';
Button2Caption := '否';
IconType := suiHelp ;
Text := '是否撤销所有的单位信息变更?';
if ShowModal = mrCancel then Exit ;
end;
DataModule1.tbl_Dwxxb.CancelUpdates ;
DBGridEh1.Enabled := True ;
SetReadOnly(Self, True, suiForm1.Color);
end;
procedure TFrmDwxx.actSaveExecute(Sender: TObject);
begin
with DataModule1 do
begin
tbl_Dwxxb.Next ;
if tbl_Dwxxb.UpdatesPending then
begin
try
db1.StartTransaction ;
tbl_Dwxxb.ApplyUpdates;
tbl_Dwxxb.CommitUpdates;
db1.Commit ;
DBGridEh1.Enabled := True ;
SetReadOnly(Self, True, suiForm1.Color);
except
on E : Exception do
begin
with suiMessageDialog1 do
begin
Caption := suiForm1.Caption ;
ButtonCount := 1;
Button1Caption := '确定';
IconType := suiStop ;
Text := '数据错误无法保存'+Chr(10)+Chr(13)+E.Message ;
ShowModal ;
end;
tbl_Dwxxb.CancelUpdates ;
db1.Rollback;
end;
end;
end;
end;
end;
procedure TFrmDwxx.actExitExecute(Sender: TObject);
begin
Close ;
end;
procedure TFrmDwxx.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
with DataModule1 do
begin
tbl_Dwxxb.Next ;
if DataModule1.tbl_Dwxxb.UpdatesPending then
with suiMessageDialog1 do
begin
Caption := suiForm1.Caption ;
ButtonCount := 2;
Button1Caption := '是';
Button2Caption := '否';
IconType := suiHelp ;
Text := '是否保存所编辑的数据?';
if ShowModal = mrOk then actSave.Execute else tbl_Dwxxb.CancelUpdates ;
end;
end;
end;
procedure TFrmDwxx.FormShow(Sender: TObject);
var ControlEnabled : Boolean ;
begin
ControlEnabled := (DBGridEh1.DataSource.DataSet.RecordCount > 0);
actAdd.Enabled := ControlEnabled ;
actEdit.Enabled := ControlEnabled ;
actDel.Enabled := ControlEnabled ;
actUndo.Enabled := ControlEnabled ;
actSave.Enabled := ControlEnabled ;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?