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

📄 initdata.pas

📁 省级集邮品管理ERP
💻 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 + -