📄 initdata.pas
字号:
{*******************************************************}
{ }
{ 其他数据初始化 }
{ }
{ 中软金马公司版权所有。2002.12前 }
{ }
{ 编制:中软金马邮资票品项目开发组 }
{ }
{ }
{*******************************************************}
(*
本模块在省级系统管理模块里面调用。
*)
unit initData;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Menus, Db, DBTables, Spin, Buttons, ExtCtrls, DBCtrls,
Grids, DBGrids;
type
TsystemForm = class(TForm)
Button1: TButton;
DBGrid1: TDBGrid;
Label2: TLabel;
DataSource1: TDataSource;
Table1: TTable;
DBNavigator1: TDBNavigator;
DBGrid2: TDBGrid;
Label3: TLabel;
DataSource2: TDataSource;
Table2: TTable;
DBNavigator2: TDBNavigator;
button2: TBitBtn;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Table1UpdateError(DataSet: TDataSet; E: EDatabaseError;
UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction);
procedure Table2UpdateError(DataSet: TDataSet; E: EDatabaseError;
UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction);
private
{ Private declarations }
FMainMenu: TMainMenu;
public
{ Public declarations }
end;
function ShowInitData(mainMenu: TMainMenu): Boolean;
var
systemForm: TsystemForm;
implementation
uses datas,Pub;
{$R *.DFM}
function ShowInitData(mainMenu: TMainMenu): Boolean;
begin
Result := false;
Application.CreateForm(TsystemForm, systemForm);
with systemForm do
try
if CheckRight(systemForm, [DBNavigator1, DBNavigator2]) then
begin
Caption := CYZPPTIT;
FMainMenu := MainMenu;
result := ShowModal = MB_OK;
end;
finally
Free;
end;
end;
procedure TsystemForm.Button1Click(Sender: TObject);
const
DSQL = 'Delete From TGS_MKB';
ISQL = 'Insert Into TGS_MKB (MKDM, MKMC) Values (''%s'',''%s'')';
var
i: integer;
procedure CheckMenu(const AMenuItem: TMenuItem);
var
i: integer;
begin
with AMenuItem do
for i := 0 to Count - 1 do
begin
if Items[i].Count > 0 then
CheckMenu(Items[i])
else if Items[i].Tag > 0 then
SetData(Format(ISQL, [intTostr(Items[i].Tag), Items[i].Caption]));
end;
end;
begin
//SetData(DSQL);
data.dm.StartTransaction;
try
with FMainMenu do
for i := 0 to Items.Count - 1 do
CheckMenu(Items[i]);
except
data.dm.Rollback;
if errMsg = '' then
raise
else
raise exception.Create(errMsg)
end;
data.dm.Commit;
end;
procedure TsystemForm.Button2Click(Sender: TObject);
begin
close;
end;
procedure TsystemForm.FormCreate(Sender: TObject);
begin
{$IFNDEF debug}
Button1.Visible := False;
{$ELSE}
Button1.Visible := True;
{$ENDIF}
if Table1.Active then Table1.Close;
if Table2.Active then Table2.Close;
Table1.Open;
Table2.Open;
end;
procedure TsystemForm.Table1UpdateError(DataSet: TDataSet;
E: EDatabaseError; UpdateKind: TUpdateKind;
var UpdateAction: TUpdateAction);
begin
case GetErrCode(DataSet, E, ErrMsg) of
Err_NoMasterRec: errMsg := errMsg + '&_&' + Format(MST_NOREC, ['', '', '']);
Err_HasDetailRec: errMsg := errMsg + '&_&' + Format(DTL_EXSTREC, ['']);
Err_RecDouble: errMsg := errMsg + '&_&' + Format(DBL_REC, ['库房代码']);
Err_NotNull: errMsg := errMsg + '&_&' + Format(NOTNULL, ['库房代码, 库房名称']);
else
errMsg := errMsg + '&_&' + OTHERERROR;
end;
end;
procedure TsystemForm.Table2UpdateError(DataSet: TDataSet;
E: EDatabaseError; UpdateKind: TUpdateKind;
var UpdateAction: TUpdateAction);
begin
case GetErrCode(DataSet, E, ErrMsg) of
Err_NoMasterRec: errMsg := errMsg + '&_&' + Format(MST_NOREC, ['', '', '']);
Err_HasDetailRec: errMsg := errMsg + '&_&' + Format(DTL_EXSTREC, ['']);
Err_RecDouble: errMsg := errMsg + '&_&' + Format(DBL_REC, ['部门代码']);
Err_NotNull: errMsg := errMsg + '&_&' + Format(NOTNULL, ['部门代码、部门名称']);
else
errMsg := errMsg + '&_&' + OTHERERROR;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -