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

📄 stock.dpr

📁 库房管理系统
💻 DPR
字号:
program stock;

uses
  Forms,
  windows,
  Controls,
  Messages,
  MainFm in 'MainFm.pas' {Main},
  rptFM in 'rptFM.pas' {reportFM},
  stockinform in 'stockinform.pas' {stockINfm},
  stockoutform in 'stockoutform.pas' {stockoutfm},
  login in 'login.pas' {loginfrm},
  logoscreen in 'logoscreen.pas' {logo},
  spzlgl in 'spzlgl.pas' {spzlglfrm},
  jhdgl in 'jhdgl.pas' {jhdglfrm},
  xstj in 'xstj.pas' {xstjfrm},
  dm in 'dm.pas' {DM1: TDataModule},
  kctj in 'kctj.pas' {kctjfrm},
  jldwgl in 'jldwgl.pas' {jldwglfrm},
  jhtj in 'jhtj.pas' {jhtjfrm},
  xsgl in 'xsgl.pas' {xsglfrm},
  UNABOUT in 'UNABOUT.pas' {FMABOUT},
  MoneyFM in 'MoneyFM.pas' {MForm},
  providerfm in 'providerfm.pas' {Provider},
  MaterialFM in 'MaterialFM.pas' {Material},
  UNRPTX in 'UNRPTX.pas' {FMRPTX},
  un_utl in 'UN_UTL.PAS',
  stockFM in 'stockFM.pas' {stockform},
  takeMtrFM in 'takeMtrFM.pas' {takeMtr},
  productINFM in 'productINFM.pas' {productIN},
  stockTotalFM in 'stockTotalFM.pas' {stockTotal},
  storgecheckFM in 'storgecheckFM.pas' {storgecheck},
  BOMFM in 'BOMFM.pas' {BOMForm},
  purchaseOrderFM in 'purchaseOrderFM.pas' {purchaseOrder},
  storageCheck in 'storageCheck.pas' {storage},
  salesPO in 'salesPO.pas' {salesFM},
  outForm in 'outForm.pas' {stockOut},
  contractAdjFM in 'contractAdjFM.pas' {contractAdjust},
  ProductCodeFM in 'ProductCodeFM.pas' {ProductCode},
  InoutForm in 'INoutForm.pas' {INstockOut};

{$R *.res}

var
  hMutex: THandle;
  FoundWnd: THandle;
  ModuleName: string;

function EnumWndProc(hwnd: THandle; Param: Cardinal): Bool; stdcall;
var
  ClassName, WinModuleName: string;
  WinInstance: THandle;
begin
  Result := True;
  SetLength(ClassName, 100);
  GetClassName (hwnd, PChar (ClassName), Length (ClassName));
  ClassName := PChar(ClassName);
  if ClassName = Tmain.ClassName then
  begin
    {10 获取目标窗口的模块名 }
    SetLength(WinModuleName, 200);
    WinInstance := GetWindowLong(hwnd, GWL_HINSTANCE);
    GetModuleFileName (WinInstance, PChar (WinModuleName),
      Length(WinModuleName));
    WinModuleName := PChar(WinModuleName); // 调整长度

    {20 比较模块名 }
    if WinModuleName = ModuleName then
    begin
      FoundWnd := Hwnd;
      Result := False; // 如果已找到,停止继续列举
    end;
  end;
end;

begin

HMutex := CreateMutex(nil, False, 'OneCopyMutex');
  if WaitForSingleObject(hMutex, 0) <> WAIT_TIMEOUT then
  begin
    Application.Initialize;
    Application.Title := '进销存管理系统';
    {10.1 启动Splash屏幕 }
    //frmSplash := TfrmSplash.Create(nil);
    logo:=Tlogo.Create(logo);
    try
      with logo do
      begin
        BeginLoad;
        {10.2 装载主窗体}
        UpdateLoadStatus('正在载入启动参数', 5);
        Application.CreateForm(Tmain, main);
  Application.CreateForm(Tspzlglfrm, spzlglfrm);
  Application.CreateForm(Tjhdglfrm, jhdglfrm);
  Application.CreateForm(Txstjfrm, xstjfrm);
  Application.CreateForm(TDM1, DM1);
  Application.CreateForm(Tkctjfrm, kctjfrm);
  Application.CreateForm(Tjldwglfrm, jldwglfrm);
  Application.CreateForm(Tjhtjfrm, jhtjfrm);
  Application.CreateForm(Txsglfrm, xsglfrm);
  Application.CreateForm(TFMABOUT, FMABOUT);
  Application.CreateForm(TMForm, MForm);
  Application.CreateForm(TProvider, Provider);
  Application.CreateForm(TMaterial, Material);
  Application.CreateForm(TFMRPTX, FMRPTX);
  Application.CreateForm(Tstockform, stockform);
  Application.CreateForm(TtakeMtr, takeMtr);
  Application.CreateForm(TproductIN, productIN);
  Application.CreateForm(TstockTotal, stockTotal);
  Application.CreateForm(Tstorgecheck, storgecheck);
  Application.CreateForm(TBOMForm, BOMForm);
  Application.CreateForm(TpurchaseOrder, purchaseOrder);
  Application.CreateForm(Tstorage, storage);
  Application.CreateForm(TsalesFM, salesFM);
  Application.CreateForm(TstockOut, stockOut);
  Application.CreateForm(TcontractAdjust, contractAdjust);
  Application.CreateForm(TProductCode, ProductCode);
  Application.CreateForm(TINstockOut, INstockOut);
  UpdateLoadStatus('正在载入主窗体', 10);
        Application.CreateForm(Tloginfrm, loginfrm);
        UpdateLoadStatus('载入登录窗体', 15);
  //      Application.CreateForm(Tmlfxfrm, mlfxfrm);
        UpdateLoadStatus('begin to load stock analysis modal', 28);
        UpdateLoadStatus('begin to load stock analysis modal', 38);
        UpdateLoadStatus('begin to load stock analysis modal', 48);
        UpdateLoadStatus('begin to load stock analysis modal', 58);
        UpdateLoadStatus('begin to load stock analysis modal', 68);
        UpdateLoadStatus('begin to load stock analysis modal', 78);
        UpdateLoadStatus('begin to load stock analysis modal', 98);

  Application.Title := 'stock_system';
  Application.CreateForm(TMain, Main);
  Application.CreateForm(TreportFM, reportFM);
  Application.CreateForm(TstockINfm, stockINfm);
  Application.CreateForm(Tstockoutfm, stockoutfm);
  Application.CreateForm(Tloginfrm, loginfrm);
  Application.CreateForm(Tlogo, logo);
        {// 结束 }
        {10.5 装载完毕 }
        logo.EndLoad;
      end;
    finally
      logo.Free;
    end;
    Application.Run;
  end
  else
   begin
    {20 获取当前模块名 }
    SetLength(ModuleName, 200);
    GetModuleFileName (HInstance, PChar(ModuleName), Length (ModuleName));
    ModuleName := PChar(ModuleName); // 调整长度

    {30 列表最初实例的窗口 }
    EnumWindows(@EnumWndProc, 0);
    if FoundWnd <> 0 then
    begin
      {40 最后显示最初实例的窗口 }
      if not IsWindowVisible(FoundWnd) then
        PostMessage(FoundWnd, wm_App, 0, 0);
      SetForegroundWindow(FoundWnd);
    end;
  end;
end.   
        
  //Application.Initialize;

//  Application.Run;
//  end;
//end.



⌨️ 快捷键说明

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