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

📄 main.pas

📁 电子充值系统:全球通的充值卡通过POS机传到销售点.
💻 PAS
字号:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Menus, StdActns, ActnList, ExtCtrls, Db, DBTables, Buttons, StdCtrls, jpeg,
  ComCtrls, LeftBar, ToolWin;

type
  TfmMain = class(TForm)
    ActionList: TActionList;
    Arrange1: TWindowArrange;
    Cascade1: TWindowCascade;
    Close1: TWindowClose;
    MinimizeAll1: TWindowMinimizeAll;
    TileHorizontally1: TWindowTileHorizontal;
    TileVertically1: TWindowTileVertical;
    muMain: TMainMenu;
    muBA: TMenuItem;
    muLogin: TMenuItem;
    muIN: TMenuItem;
    muIN110: TMenuItem;
    muIN220: TMenuItem;
    muIN230: TMenuItem;
    muIN250: TMenuItem;
    muIN100: TMenuItem;
    N5: TMenuItem;
    StatusBar: TStatusBar;
    muBA010: TMenuItem;
    muBA020: TMenuItem;
    muBA030: TMenuItem;
    muBA040: TMenuItem;
    N3: TMenuItem;
    muPR: TMenuItem;
    muPR110: TMenuItem;
    muDL: TMenuItem;
    muDL110: TMenuItem;
    N8: TMenuItem;
    muDL210: TMenuItem;
    muIN120: TMenuItem;
    N17: TMenuItem;
    muIN210: TMenuItem;
    muIN240: TMenuItem;
    muDL115: TMenuItem;
    muIN125: TMenuItem;
    muIN245: TMenuItem;
    muGZ: TMenuItem;
    GZ010: TMenuItem;
    GZ020: TMenuItem;
    GZ030: TMenuItem;
    Frame11: TFrmLeftBar;
    StatusBar1: TStatusBar;
    ToolBar1: TToolBar;
    BitBtn3: TBitBtn;
    muBA050: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure muAboutClick(Sender: TObject);
    procedure muLoginClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure muSY500Click(Sender: TObject);
    procedure muBA010Click(Sender: TObject);
    procedure muBA020Click(Sender: TObject);
    procedure muBA030Click(Sender: TObject);
    procedure muBA040Click(Sender: TObject);
    procedure muBA110Click(Sender: TObject);
    procedure muPR110Click(Sender: TObject);
    procedure muDL110Click(Sender: TObject);
    procedure muDL210Click(Sender: TObject);
    procedure muIN100Click(Sender: TObject);
    procedure muIN110Click(Sender: TObject);
    procedure muIN120Click(Sender: TObject);
    procedure muIN210Click(Sender: TObject);
    procedure muIN220Click(Sender: TObject);
    procedure muIN230Click(Sender: TObject);
    procedure muIN240Click(Sender: TObject);
    procedure muIN250Click(Sender: TObject);
    procedure muDL115Click(Sender: TObject);
    procedure muIN125Click(Sender: TObject);
    procedure muIN245Click(Sender: TObject);
    procedure GZ010Click(Sender: TObject);
    procedure GZ030Click(Sender: TObject);
    procedure Frame11bbt101Click(Sender: TObject);
    procedure Frame11bbt102Click(Sender: TObject);
    procedure Frame11bbt103Click(Sender: TObject);
    procedure Frame11btn31Click(Sender: TObject);
    procedure Frame11bbt301Click(Sender: TObject);
    procedure GZ020Click(Sender: TObject);
    procedure muBA050Click(Sender: TObject);
    procedure Frame11bbt104Click(Sender: TObject);
    procedure Frame11bbt201Click(Sender: TObject);
    procedure Frame11bbt202Click(Sender: TObject);
    procedure Frame11bbt203Click(Sender: TObject);
    procedure Frame11bbt401Click(Sender: TObject);
    procedure Frame11bbt402Click(Sender: TObject);
    procedure Frame11bbt403Click(Sender: TObject);
  private
    { Private declarations }
    procedure ErrorProc(Sender: TObject; E: Exception);
    procedure EnvCreate;
    procedure SystemLogin;
    procedure ChangeCodeCreate;
  public
    { Public declarations }
  end;

var
  fmMain: TfmMain;
  sUserID, sUserName : String;
  CheckExit : Boolean;
  sSaveErrorMsg : String;
  iScreenFormCount : Integer;
  sStartPeriodDate, sEndPeriodDate : String;
  sOpenningYear, sOpenningMonth, sOpenningDate : String;
  sCompanyID, sCompanyName : String;
  bFirstRun, bRunning : Boolean;
  bValid : Boolean;

  sAdmCode,sLoginID,sAdmName,sPurview :string; //new
implementation

uses PublicFunction, DataModule, Password,
  Loading, Logout, Progress, About, CheckData,
  BaseReportDlgChangeCode, BaseReportDlgDate, BaseReportDlgProductID,
  SYS010,SYS020,SYS030,SYS040,PA010,CA010,CA020,CA030,PRI010,PRI020,PRI030,
  SUM010,SUM020,SUM030,SUM040,SUM050,SUM060,SUM070,SUM080,
  SUM090,SUM100;

{$R *.DFM}

procedure TfmMain.ErrorProc(Sender: TObject; E: Exception);
begin
  if Pos('Invalid input value.  Use escape key to abandon change', E.Message) > 0 then
  begin
    MyWarning('您现在输入的数据与系统格式不符,有可能是' + #10#13 + #10#13 +
              '1. 数据长度不对' + #10#13 +
              '2. 数值格式输入错误,如小数位数过长或不足' + #10#13 +
              '3. 特定格式数据违反规则,如日期字段' + #10#13 + #10#13 +
              '离开本警告信息后,您可按Esc键恢复原值。如仍不清楚本字段的数据格式' +
              '请参考使用手册联系系统管理员!');
    Exit;
  end;
  if Pos('库存量', E.Message) > 0 then begin
    MyWarning(E.Message);
    Exit;
  end;
  if Pos('支票', E.Message) > 0 then begin
    MyWarning(E.Message);
    Exit;
  end;
  if Pos('Update failed', E.Message) > 0 then begin
    MyWarning('网络数据共享存取规则发生错误' + #10#13 +
              '您要改动的数据已经被其他人修改了!');
    Exit;
  end;
  if Pos('QTY', E.Message) > 0 then begin
    MyWarning(E.Message);
    Exit;
  end;

  if Pos('月结操作', E.Message) > 0 then begin
    MyError(E.Message);
    Exit;
  end;
  if Pos('暂收款', E.Message) > 0 then
  begin
    MyError(E.Message);
    Exit;
  end;
  if Pos('The log file for database ''Kings'' is full', E.Message) > 0 then
  begin
    MyError('日志文件已满' + #10#13 +
            '情结束目前所有打开的操作,然后执行SY970' + #10#13 +
            '如果问题还无法解决,请联系系统管理员!');
    Exit;
  end;
  MyError('应用程序发生错误' + #10#13#10#13 +
          E.Message + #10#13#10#13 +
          '请记录以上的错误信息并速联系系统管理员!');
end;

procedure TfmMain.FormCreate(Sender: TObject);
begin
  //系统的异常使用我们所自订的程序

⌨️ 快捷键说明

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