📄 main.pas
字号:
unit Main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, StdActns, ActnList, ExtCtrls, Db, DBTables, Buttons, StdCtrls, jpeg,
ComCtrls;
type
TfmMain = class(TForm)
ActionList: TActionList;
Arrange1: TWindowArrange;
Cascade1: TWindowCascade;
Close1: TWindowClose;
MinimizeAll1: TWindowMinimizeAll;
TileHorizontally1: TWindowTileHorizontal;
TileVertically1: TWindowTileVertical;
muMain: TMainMenu;
N12: TMenuItem;
N15: TMenuItem;
N14: TMenuItem;
muSY: TMenuItem;
muAbout: TMenuItem;
TileVertically2: TMenuItem;
muSY140: TMenuItem;
muBA: TMenuItem;
muLogin: TMenuItem;
muSY110: TMenuItem;
muSY120: TMenuItem;
muSY130: TMenuItem;
N1: TMenuItem;
muSY150: TMenuItem;
muIN: TMenuItem;
muBA110: TMenuItem;
N54: TMenuItem;
N52: TMenuItem;
WINDOWS: TMenuItem;
N106: TMenuItem;
muSY500: TMenuItem;
muBA140: TMenuItem;
muBA120: TMenuItem;
muIN110: TMenuItem;
N2: TMenuItem;
muIN220: TMenuItem;
muIN230: TMenuItem;
muIN250: TMenuItem;
muIN260: TMenuItem;
muIN100: TMenuItem;
N5: TMenuItem;
muIN270: TMenuItem;
muBA130: TMenuItem;
StatusBar: TStatusBar;
muBA010: TMenuItem;
muBA020: TMenuItem;
muBA030: TMenuItem;
muBA040: TMenuItem;
muBA050: TMenuItem;
N11: TMenuItem;
N3: TMenuItem;
muBA210: TMenuItem;
muBA220: TMenuItem;
muBA230: TMenuItem;
muBA240: TMenuItem;
muBA250: TMenuItem;
muBA260: TMenuItem;
muBA270: TMenuItem;
muBA280: TMenuItem;
muBA290: TMenuItem;
muBA300: TMenuItem;
muAR280: TMenuItem;
muPR: TMenuItem;
muPR110: TMenuItem;
N6: TMenuItem;
muPR220: TMenuItem;
muPR230: TMenuItem;
muPR240: TMenuItem;
muPR250: TMenuItem;
muPR260: TMenuItem;
muPR270: TMenuItem;
muPR280: TMenuItem;
muDL: TMenuItem;
muDL110: TMenuItem;
N8: TMenuItem;
muDL210: TMenuItem;
muDL230: TMenuItem;
muDL240: TMenuItem;
muDL250: TMenuItem;
muDL260: TMenuItem;
muDL270: TMenuItem;
muDL280: TMenuItem;
muIN120: TMenuItem;
N17: TMenuItem;
muIN210: TMenuItem;
muIN240: TMenuItem;
muAP: TMenuItem;
muAP110: TMenuItem;
N7: TMenuItem;
muAP210: TMenuItem;
muAP220: TMenuItem;
muAP230: TMenuItem;
muAP240: TMenuItem;
muAP250: TMenuItem;
muAP260: TMenuItem;
muAP270: TMenuItem;
muAR: TMenuItem;
muAR110: TMenuItem;
muAR210: TMenuItem;
muAR220: TMenuItem;
muAR230: TMenuItem;
muAR240: TMenuItem;
muAR250: TMenuItem;
muAR260: TMenuItem;
muAR270: TMenuItem;
N10: TMenuItem;
N13: TMenuItem;
muSY990: TMenuItem;
muSY210: TMenuItem;
muSY220: TMenuItem;
muSY230: TMenuItem;
muSY240: TMenuItem;
N16: TMenuItem;
BA060: TMenuItem;
BA0701: TMenuItem;
muPR210: TMenuItem;
DL220: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure muSY140Click(Sender: TObject);
procedure muAboutClick(Sender: TObject);
procedure muLoginClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure muSY110Click(Sender: TObject);
procedure muSY130Click(Sender: TObject);
procedure muSY120Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure muSY500Click(Sender: TObject);
procedure muBA140Click(Sender: TObject);
procedure muBA010Click(Sender: TObject);
procedure muBA020Click(Sender: TObject);
procedure muBA030Click(Sender: TObject);
procedure muBA040Click(Sender: TObject);
procedure muBA050Click(Sender: TObject);
procedure muBA110Click(Sender: TObject);
procedure muBA120Click(Sender: TObject);
procedure muBA130Click(Sender: TObject);
procedure muBA210Click(Sender: TObject);
procedure muBA220Click(Sender: TObject);
procedure muBA230Click(Sender: TObject);
procedure muBA240Click(Sender: TObject);
procedure muBA250Click(Sender: TObject);
procedure muBA260Click(Sender: TObject);
procedure muBA270Click(Sender: TObject);
procedure muBA280Click(Sender: TObject);
procedure muBA290Click(Sender: TObject);
procedure muBA300Click(Sender: TObject);
procedure muPR110Click(Sender: TObject);
procedure muPR220Click(Sender: TObject);
procedure muPR230Click(Sender: TObject);
procedure muPR240Click(Sender: TObject);
procedure muPR250Click(Sender: TObject);
procedure muPR260Click(Sender: TObject);
procedure muPR270Click(Sender: TObject);
procedure muPR280Click(Sender: TObject);
procedure muDL110Click(Sender: TObject);
procedure muDL210Click(Sender: TObject);
procedure muDL230Click(Sender: TObject);
procedure muDL240Click(Sender: TObject);
procedure muDL250Click(Sender: TObject);
procedure muDL260Click(Sender: TObject);
procedure muDL270Click(Sender: TObject);
procedure muDL280Click(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 muIN260Click(Sender: TObject);
procedure muIN270Click(Sender: TObject);
procedure muAP110Click(Sender: TObject);
procedure muAP210Click(Sender: TObject);
procedure muAP220Click(Sender: TObject);
procedure muAP230Click(Sender: TObject);
procedure muAP240Click(Sender: TObject);
procedure muAP250Click(Sender: TObject);
procedure muAP260Click(Sender: TObject);
procedure muAP270Click(Sender: TObject);
procedure muAR110Click(Sender: TObject);
procedure muAR210Click(Sender: TObject);
procedure muAR220Click(Sender: TObject);
procedure muAR230Click(Sender: TObject);
procedure muAR240Click(Sender: TObject);
procedure muAR250Click(Sender: TObject);
procedure muAR260Click(Sender: TObject);
procedure muAR270Click(Sender: TObject);
procedure muSY150Click(Sender: TObject);
procedure muSY210Click(Sender: TObject);
procedure muSY220Click(Sender: TObject);
procedure muSY230Click(Sender: TObject);
procedure muSY240Click(Sender: TObject);
procedure muSY990Click(Sender: TObject);
procedure muAR280Click(Sender: TObject);
procedure BA060Click(Sender: TObject);
procedure BA0701Click(Sender: TObject);
procedure muPR210Click(Sender: TObject);
procedure DL220Click(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;
implementation
uses PublicFunction, DataModule, Password,
Loading, Logout, Progress, About, CheckData,
BA060, BA140,
BA120, BA220, BA240, BA010, BA020, BA030,
BA040, BA050, BA070, BA110, BA130, BA210, BA230, BA280, BA260,
AP110, BA250, BA270,
BA290, BA300,
BaseReportDlgChangeCode, BaseReportDlgDate, BaseReportDlgProductID,
PR110, PR210, PR220, PR230, PR240, PR250, PR260, PR270, PR280,
DL110, DL210, DL220, DL230, DL240, DL250, DL260, DL270, DL280,
IN100, IN110, IN120, IN210, IN220, IN230, IN240, IN250, IN260, IN270,
AR110, AR210, AR220, AR230, AR240, AR250, AR260, AR270, AR280,
SY110, SY120, SY130, SY140, SY150, SY210, SY220, SY230, SY240, SY990,
AP210, AP220, AP230, AP240, AP250, AP260, AP270;
{$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 + -