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

📄 main.~pas

📁 一个非常好的桑拿浴管理系统
💻 ~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 + -