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

📄 clientmain.pas

📁 车辆管理系统
💻 PAS
字号:
unit ClientMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ActnList, ImgList, ComCtrls, Buttons, ExtCtrls,
  ShellAPI, MMDIBase, ToolWin, StdCtrls, StdActns, XPMenu, Sconnect, DBClient;
const
  WM_USER_SHOWMAINCONTROL = WM_USER+1024;
  
type
    TfrmClientMain = class(TForm)
    StatusBar: TStatusBar;
    MainMenu1: TMainMenu;
    ActionList1: TActionList;
    nonimagelist: TImageList;
    N25: TMenuItem;
    N26: TMenuItem;
    N27: TMenuItem;
    N28: TMenuItem;
    paneltoolbar: TPanel;
    paneltool: TPanel;
    spbtnstandart: TSpeedButton;
    Pagec: TPageControl;
    PMStantard: TPopupMenu;
    spbtn4: TSpeedButton;
    spbtn5: TSpeedButton;
    spbtn6: TSpeedButton;
    spbtn1: TSpeedButton;
    spbtn2: TSpeedButton;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N21: TMenuItem;
    N22: TMenuItem;
    N23: TMenuItem;
    N24: TMenuItem;
    N30: TMenuItem;
    N31: TMenuItem;
    N32: TMenuItem;
    N35: TMenuItem;
    N36: TMenuItem;
    N37: TMenuItem;
    N39: TMenuItem;
    N48: TMenuItem;
    N55: TMenuItem;
    N56: TMenuItem;
    N59: TMenuItem;
    N60: TMenuItem;
    N62: TMenuItem;
    N63: TMenuItem;
    N64: TMenuItem;
    N65: TMenuItem;
    N66: TMenuItem;
    N67: TMenuItem;
    N72: TMenuItem;
    N73: TMenuItem;
    N74: TMenuItem;
    N75: TMenuItem;
    N76: TMenuItem;
    N77: TMenuItem;
    N78: TMenuItem;
    N79: TMenuItem;
    N80: TMenuItem;
    N81: TMenuItem;
    N82: TMenuItem;
    N83: TMenuItem;
    N85: TMenuItem;
    XPMenu1: TXPMenu;
    base1: TAction;
    base2: TAction;
    base3: TAction;
    base4: TAction;
    base5: TAction;
    base6: TAction;
    base7: TAction;
    base9: TAction;
    base10: TAction;
    vipregist: TAction;
    vipquery: TAction;
    accountday: TAction;
    receiptdetail: TAction;
    paydetail: TAction;
    wage1: TAction;
    wage2: TAction;
    rent1: TAction;
    rent2: TAction;
    query1: TAction;
    query2: TAction;
    query3: TAction;
    N1: TMenuItem;
    N2: TMenuItem;
    N8: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    N18: TMenuItem;
    base8: TAction;
    N19: TMenuItem;
    base12: TAction;
    N20: TMenuItem;
    Base13: TAction;
    N86: TMenuItem;
    base15: TAction;
    N88: TMenuItem;
    N38: TMenuItem;
    N40: TMenuItem;
    N41: TMenuItem;
    N42: TMenuItem;
    N44: TMenuItem;
    query7: TAction;
    query8: TAction;
    query9: TAction;
    query10: TAction;
    query11: TAction;
    N46: TMenuItem;
    N47: TMenuItem;
    N50: TMenuItem;
    N51: TMenuItem;
    N52: TMenuItem;
    rent3: TAction;
    rent4: TAction;
    rent5: TAction;
    rent6: TAction;
    rent7: TAction;
    rent8: TAction;
    rent9: TAction;
    rent10: TAction;
    rent11: TAction;
    N61: TMenuItem;
    N89: TMenuItem;
    N90: TMenuItem;
    N91: TMenuItem;
    N92: TMenuItem;
    N93: TMenuItem;
    N94: TMenuItem;
    N96: TMenuItem;
    N97: TMenuItem;
    N29: TMenuItem;
    systemUser: TAction;
    systemUserGroup: TAction;
    systemGroupPWD: TAction;
    ActionList2: TActionList;
    NcreateDB: TAction;
    NdeleteDB: TAction;
    NbackupDB: TAction;
    NrestoreDB: TAction;
    NchangePWD: TAction;
    Nsendmessage: TAction;
    Nregister: TAction;
    Nexit: TAction;
    Ncalac: TAction;
    Nhelp: TAction;
    Lockgrid: TAction;
    Unlockgrid: TAction;
    CascadeW: TAction;
    TileW: TAction;
    ExitForm: TAction;
    base11: TAction;
    N33: TMenuItem;
    query4: TAction;
    N34: TMenuItem;
    N53: TMenuItem;
    financeCollect: TAction;
    N43: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure Action18Execute(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure NregisterExecute(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Action6Execute(Sender: TObject);
    procedure NsendmessageExecute(Sender: TObject);
    procedure NchangePWDExecute(Sender: TObject);
    procedure NexitExecute(Sender: TObject);
    procedure spbtnstandartClick(Sender: TObject);
    procedure PagecChange(Sender: TObject);
    procedure base5Execute(Sender: TObject);
    procedure base1Execute(Sender: TObject);
    procedure base8Execute(Sender: TObject);
    procedure base12Execute(Sender: TObject);
    procedure base6Execute(Sender: TObject);
    procedure base4Execute(Sender: TObject);
    procedure base3Execute(Sender: TObject);
    procedure base7Execute(Sender: TObject);
    procedure Base13Execute(Sender: TObject);
    procedure base15Execute(Sender: TObject);
    procedure base2Execute(Sender: TObject);
    procedure base9Execute(Sender: TObject);
    procedure base10Execute(Sender: TObject);
    procedure systemUserGroupExecute(Sender: TObject);
    procedure systemUserExecute(Sender: TObject);
    procedure systemGroupPWDExecute(Sender: TObject);
    procedure NcreateDBExecute(Sender: TObject);
    procedure NdeleteDBExecute(Sender: TObject);
    procedure NbackupDBExecute(Sender: TObject);
    procedure NrestoreDBExecute(Sender: TObject);
    procedure LockgridExecute(Sender: TObject);
    procedure UnlockgridExecute(Sender: TObject);
    procedure ExitFormExecute(Sender: TObject);
    procedure TileWExecute(Sender: TObject);
    procedure CascadeWExecute(Sender: TObject);
    procedure vipregistExecute(Sender: TObject);
    procedure base11Execute(Sender: TObject);
    procedure rent1Execute(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure rent2Execute(Sender: TObject);
    procedure rent5Execute(Sender: TObject);
    procedure vipqueryExecute(Sender: TObject);
    procedure rent6Execute(Sender: TObject);
    procedure rent7Execute(Sender: TObject);
    procedure rent8Execute(Sender: TObject);
    procedure rent9Execute(Sender: TObject);
    procedure rent11Execute(Sender: TObject);
    procedure wage1Execute(Sender: TObject);
    procedure receiptdetailExecute(Sender: TObject);
    procedure paydetailExecute(Sender: TObject);
    procedure accountdayExecute(Sender: TObject);
    procedure financeCollectExecute(Sender: TObject);
    procedure query1Execute(Sender: TObject);
    procedure query2Execute(Sender: TObject);
    procedure query3Execute(Sender: TObject);
    procedure query7Execute(Sender: TObject);
    procedure query8Execute(Sender: TObject);
    procedure query9Execute(Sender: TObject);
    procedure query11Execute(Sender: TObject);
    procedure query4Execute(Sender: TObject);
  private
    BmainClose:Boolean;
    BaseinfoDLLHandle:Thandle;
    SystemDLLHandle:Thandle;
    VIPDLLHandle:Thandle;
    RentDLLHandle:Thandle;
    WageDLLHandle:Thandle;
    FinanceDLlHandle:Thandle;
    QueryDLLHandle:Thandle;
    procedure LoadBaseinfoDLL(Sender:TObject;FormName:String;DllName:String);
    procedure LoadSystemDLL(Sender:TObject;FormName:String;DllName:String);
    procedure LoadVIPDLL(Sender:TObject;FormName:String;DllName:String);
    procedure LoadRentDLL(Sender:TObject;FormName:String;DllName:String);
    procedure LoadWageDLL(Sender:TObject;FormName:String;DllName:String);
    procedure LoadFinanceDLL(Sender:TObject;FormName:String;DllName:String);
    procedure LoadQueryDLL(Sender:TObject;FormName:String;DllName:String);
    procedure setformname(name,formName:String);
    procedure delformname(name:string);
    procedure GetDataFromDll(Var T:TWMCopyData);Message WM_COPYDATA;
    procedure AddBottomImage;
    Procedure SetAction;
    { Private declarations }
  public
    { Public declarations }
  end;

  TDllShow =procedure (PApplication: TApplication; PForm: TForm;FormName:String;DB_Name:String;
        PCn:TSocketConnection;PUsercode:String;Badmin:boolean;PCDS:TclientDataset;
        ModuleID:integer;FunctionName:String;MainHandle:integer);stdcall;

var
  frmClientMain: TfrmClientMain;

implementation

uses Global, Serverip, Login, dm_Client, URegister, help,
  Messagesend, Changepwd, CreateDB, DeleteDB, Databasebackup,
  Databaserestore;


{$R *.dfm}

procedure TfrmClientMain.FormCreate(Sender: TObject);
begin
  spbtn1.Caption:='';
  spbtn2.Caption:='';
  spbtn4.Caption:='';
  spbtn5.Caption:='';
  spbtn6.Caption:='';

  BmainClose:=True;
{  if (screen.width <> c_ScreenWidth) then
  begin
    Scaled := true;
    height := longint(height) * longint(screen.height) div c_ScreenHeight;
    width := longint(width) * longint(screen.width) div c_ScreenWidth;
    scaleby(screen.width, c_ScreenWidth);
  end;}

  if not assigned(frmServerip) then
    frmServerip:=TfrmServerip.Create(Application);
    frmServerip.ShowModal;

  if frmServerIP.ModalResult = mrOk then
    Begin
    if isScoketconnectionopen then
      begin

        if not assigned(frmlogin) then
          frmlogin:=Tfrmlogin.Create(application);
          frmlogin.ShowModal;

        if frmlogin.ModalResult = mrok then
          begin
            BmainClose:=False;
            if gs_UserCode<>'ADMIN' then
              dmClient.CDSuserRight.Data:=GetUserRight(gs_UserID);
            dmClient.Csocket.Socket.Sendtext(c_Connect+trim(gs_getComputerName));
          end
           else
          begin
            frmClientMain.Close;
            application.Terminate;
        end;
      end
      else
       begin
        close;
        application.Terminate;
      end
    end
    else
    begin
      close;
      application.Terminate;
    end;
end;

procedure TfrmClientMain.Action18Execute(Sender: TObject);
var
  ofile:String;
  hwndcalculation:hwnd;
begin
  hwndcalculation:=FindWindow(nil,'CALC');
  if (hwndcalculation=0) then
    begin
      ofile:='Calc.exe';
      ShellExecute(self.Handle,'open',pchar(ofile),
                nil,pchar(Extractfilepath(ofile)),sw_showNormal);
    end;
end;

procedure TfrmClientMain.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
if assigned(dmClient) then
  begin
    if dmClient.CSocket.Socket.Connected then
      begin
        dmClient.CSocket.Socket.SendText(c_Close);
      end;
  dmclient.Free;
end;
Action:=caFree;

end;

procedure TfrmClientMain.NregisterExecute(Sender: TObject);
var
i:Integer;
begin
if MessageDlg('您确认要注销当系统吗 ?',mtWarning,[mbOK,mbCancel],0) <> mrOk then
   Exit;

//闽超讽玡怠砰
for i:=0 to FrmclientMain.MDIChildCount-1 do
   if frmclientMain.MDIChildren[i].ClassName <> 'TfrmMainControl' then
      frmclientMain.MDIChildren[i].close;

//

⌨️ 快捷键说明

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