📄 main.~pas
字号:
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, AppEvnts, ImgList, jpeg, ExtCtrls, ComCtrls, ToolWin, StdCtrls, TypInfo;
type
TMyStrSel = (ffm_reg, ffm_commutationTicket, ffm_sysSetting,ffm_finace); //建立序列
Tfm_main = class(TForm)
StatusBar1: TStatusBar;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
tlb_sp1: TToolButton;
ToolButton2: TToolButton;
tlb_sp2: TToolButton;
ToolButton3: TToolButton;
tlb_sp3: TToolButton;
ToolButton4: TToolButton;
tlb_sp4: TToolButton;
tlb_quit: TToolButton;
tlb_sp5: TToolButton;
Panel1: TPanel;
Image1: TImage;
ImageList1: TImageList;
ApplicationEvents1: TApplicationEvents;
tbtn_refresh_ge: TToolButton;
tbtn_refresh: TToolButton;
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure tlb_quitClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormShow(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure tbtn_refreshClick(Sender: TObject);
private
{ Private declarations }
procedure proc_childForm(formName : string;CompClass :tComponentClass); //显示相应画面
public
{ Public declarations }
end;
var
fm_main: Tfm_main;
implementation
uses reg, commutationTicket, DataModule, log, sysSetting, finace;
{$R *.dfm}
procedure Tfm_main.proc_childForm(formName : string;CompClass :tComponentClass);
var
i : integer;
strSel: TMyStrSel; //
begin
for i := 0 to (application.ComponentCount - 1) do
if (application.Components[i] is TForm) then
begin
if not((application.Components[i] as TForm).Name = formName) and not((application.components[i] as TForm).Name = 'fm_main')
then (application.Components[i] as TForm).free;
end;
if application.FindComponent(formName)<>nil then exit;
strSel := TMyStrSel(GetEnumValue(TypeInfo(TMyStrSel), 'f'+formName)); //function:GetEnumValue() uses TypInfo
case strSel of
ffm_reg :
begin
application.CreateForm(CompClass,fm_reg);
fm_reg.Parent:=panel1;
fm_reg.BorderStyle:=bsNone;
fm_reg.Align:=alClient;
fm_reg.Show;
end;
ffm_commutationTicket :
begin
application.CreateForm(CompClass,fm_commutationTicket);
fm_commutationTicket.Parent:=panel1;
fm_commutationTicket.BorderStyle:=bsNone;
fm_commutationTicket.Align:=alClient;
fm_commutationTicket.Show;
end;
ffm_sysSetting :
begin
application.CreateForm(CompClass,fm_sysSetting);
fm_sysSetting.Parent:=panel1;
fm_sysSetting.BorderStyle:=bsNone;
fm_sysSetting.Align:=alClient;
fm_sysSetting.Show;
end;
ffm_finace :
begin
application.CreateForm(CompClass,fm_finace);
fm_finace.Parent:=panel1;
fm_finace.BorderStyle:=bsNone;
fm_finace.Align:=alClient;
fm_finace.Show;
end;
end;
end;
procedure Tfm_main.ToolButton1Click(Sender: TObject);
begin
proc_childForm('fm_reg',tfm_reg);
fm_reg.pgc_reg.Width := -1;
fm_reg.pgc_reg.Align := alClient;
end;
procedure Tfm_main.ToolButton2Click(Sender: TObject);
begin
proc_childForm('fm_commutationTicket',tfm_commutationTicket);
fm_commutationTicket.pac_Comm.Width := -1;
fm_commutationTicket.pac_Comm.Align := alClient;
tbtn_refresh.Visible := false;
tbtn_refresh_ge.Visible := false;
end;
procedure Tfm_main.tlb_quitClick(Sender: TObject);
begin
if application.MessageBox('真的要退出吗?','警告',mb_yesno+mb_iconInformation+mb_defButton1)=idNo then exit
else application.Terminate;
end;
procedure Tfm_main.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if application.MessageBox('真的要退出吗?','警告',mb_yesno+mb_iconInformation+mb_defButton2)=idNo then canClose:=false
else canClose:=true;
end;
procedure Tfm_main.FormShow(Sender: TObject);
begin
//Frm_Center(fm_main);
/////////////////////////////////////////
try
With dataModule1.ADOConnection do
begin
Connected:=false;
//ConnectionString := 'Provider=SQLOLEDB.1;Password=dico_ams;Persist' +
// ' Security Info=True;User ID=dico_ams;Initial Catalog=amstest;Data Source=LIKE';
ConnectionString := 'Provider=SQLOLEDB.1;Password=;Persist' +
' Security Info=True;User ID=sa;Initial Catalog=AMS2;Data Source=SERVER';
Connected:=true;
end;
except
Application.MessageBox('数据库连接错误!','警告',Mb_OK+MB_IconInformation);
application.Terminate;
end;
//////////////////////////////////////////
if application.FindComponent('fm_log')=nil then
application.CreateForm(Tfm_log,fm_log);
fm_log.ShowModal;
end;
procedure Tfm_main.ToolButton4Click(Sender: TObject);
begin
proc_childForm('fm_sysSetting',tfm_sysSetting);
fm_sysSetting.pac_sys.Width := -1;
fm_sysSetting.pac_sys.Align := alClient;
tbtn_refresh.Visible := false;
tbtn_refresh_ge.Visible := false;
end;
procedure Tfm_main.ToolButton3Click(Sender: TObject);
begin
proc_childForm('fm_finace',tfm_finace);
fm_finace.pac_finace.Width := -1;
fm_finace.pac_finace.Width := 800;
tbtn_refresh.Visible := false;
tbtn_refresh_ge.Visible := false;
end;
procedure Tfm_main.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key = VK_F5) and (tbtn_refresh.Visible = true) then tbtn_refresh.Click;
end;
procedure Tfm_main.tbtn_refreshClick(Sender: TObject);
begin
if fm_reg.pgc_reg.ActivePageIndex in [0,1,2,3] then
fm_reg.pgc_reg.Pages[fm_reg.pgc_reg.ActivePageIndex].OnShow(nil);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -