📄 stock.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 + -