📄 mainfrm.pas
字号:
{*******************************************************************************
Unit description: Main Form for DLL
Modifier: cy Date: 2003/03/17
Modifier: Date:
Coding standard version NO. :1.0
Copyright(C)SCM ,All right reserved
*******************************************************************************}
unit Mainfrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls, ComCtrls, ImgList, ToolWin, StdActns, ActnList;
type
TMainForm = class(TForm)
StatusBar1: TStatusBar;
Timer1: TTimer;
ActionList1: TActionList;
EditCut1: TEditCut;
EditCopy1: TEditCopy;
EditPaste1: TEditPaste;
EditUndo1: TEditUndo;
WindowClose1: TWindowClose;
WindowCascade1: TWindowCascade;
WindowTileHorizontal1: TWindowTileHorizontal;
WindowTileVertical1: TWindowTileVertical;
tlbAPSForm: TToolBar;
tlbCut: TToolButton;
tlbCopy: TToolButton;
tlbPaste: TToolButton;
tlbUndo: TToolButton;
tlbCascade: TToolButton;
tlbHorizontal: TToolButton;
tlbVertical: TToolButton;
tlbClose: TToolButton;
ilAPSForm: TImageList;
menuMESMain: TMainMenu;
FILE1: TMenuItem;
DatabaseConnection1: TMenuItem;
Exit1: TMenuItem;
Menu1: TMenuItem;
Language1: TMenuItem;
English1: TMenuItem;
TraditionalChinese1: TMenuItem;
SimplifiedChinese1: TMenuItem;
RepairSheetReinput: TMenuItem;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Exit1Click(Sender: TObject);
procedure DatabaseConnection1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure English1Click(Sender: TObject);
procedure TraditionalChinese1Click(Sender: TObject);
procedure SimplifiedChinese1Click(Sender: TObject);
procedure RepairSheetReinputClick(Sender: TObject);
private
{ Private declarations }
procedure uSetLanguage(ALanguage:integer;ALangName:string);
public
{ Public declarations }
end;
procedure FormFreeCallBack(ACaseName:string);stdcall;
Const
ENU = (SUBLANG_ENGLISH_US shl 10) or LANG_ENGLISH;
CHT = (SUBLANG_CHINESE_TRADITIONAL shl 10) or LANG_CHINESE;
CHS = (SUBLANG_CHINESE_SIMPLIFIED shl 10) or LANG_CHINESE;
var
MainForm: TMainForm;
implementation
uses clsGlobal, clsLoadDLL;
var
slDLL:TStringList;
{$R *.dfm}
procedure FormFreeCallBack(ACaseName:string);
begin
TLoadDLL(slDLL.Objects[slDLL.IndexOf(ACaseName)]).DLLForm :=nil;
end;
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
var
I:integer;
begin
for I:=MDIChildCount-1 downto 0 do
MDIChildren[I].Close;
action:=cafree;
if Assigned(ObjGlobal) then ObjGlobal.Free ;
end;
procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if MessageDlg(' Are you sure that you want to leave system?',
mtConfirmation,[mbYes, mbNo], 0) = mrYes then
CanClose:=true
else
CanClose:=false;
end;
procedure TMainForm.Exit1Click(Sender: TObject);
begin
close;
end;
procedure TMainForm.DatabaseConnection1Click(Sender: TObject);
begin
objGlobal.objDataConnect.DataConnection;
end;
procedure TMainForm.Timer1Timer(Sender: TObject);
begin
StatusBar1.Panels[1].Text:=DateToStr(date)+' '+TimeToStr(time);
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
objGlobal:=TGlobal.Create;
slDLL:=TStringList.Create ;
slDLL.Add('ImportStation');
objGlobal.gDBType:=1;
StatusBar1.Panels[2].Text:=objGlobal.objUser.FName;
end;
procedure TMainForm.FormDestroy(Sender: TObject);
var
i:integer;
begin
for i:=0 to slDLL.Count -1 do
if Assigned(slDLL.Objects[i]) then
begin
TLoadDLL(slDLL.Objects[i]).SetDLL ;
FreeLibrary(TLoadDLL(slDLL.Objects[i]).iDLL);
end;
slDLL.Free ;
end;
procedure TMainForm.English1Click(Sender: TObject);
begin
uSetLanguage(ENU,'ENU');
end;
procedure TMainForm.TraditionalChinese1Click(Sender: TObject);
begin
uSetLanguage(CHT,'CHT');
end;
procedure TMainForm.SimplifiedChinese1Click(Sender: TObject);
begin
uSetLanguage(CHS,'CHS');
end;
procedure TMainForm.uSetLanguage(ALanguage: integer;ALangName: string);
var
i:integer;
begin
if MDIChildCount>0 then
begin
if MessageDlg('Change language will close all the open windows?',
mtConfirmation,[mbYes, mbNo], 0) =mrNO then
Exit;
for I:=MDIChildCount-1 downto 0 do
begin
MDIChildren[I].Close;
MDIChildren[I].Free;
end;
end;
self.Caption:='MainForm'+'('+aLangName+')';
objGlobal.gMultiLanguage :=aLanguage;
end;
procedure TMainForm.RepairSheetReinputClick(Sender: TObject);
begin
if CreateobjLoadDLL(slDLL,'ImportStation') then
LoadDLL(slDLL,@FormFreeCallBack,'ImportStation');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -