📄 main_unit.pas
字号:
unit Main_Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, Buttons, ToolWin, ExtCtrls, ImgList;
type
TfrmWarehouseMain = class(TForm)
MainMenu1: TMainMenu;
mmLogin: TMenuItem;
N1: TMenuItem;
mmLogOut: TMenuItem;
N3: TMenuItem;
mmOperatorPwd: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
mmWarehouseIn: TMenuItem;
mmWarehouseOut: TMenuItem;
mmCheckInfo: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
mmWearhouseInSearch: TMenuItem;
mmWearhouseOutSearch: TMenuItem;
mmWearhouseSearch: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
StatusBar1: TStatusBar;
ControlBar1: TControlBar;
CoolBar3: TCoolBar;
sbtnLogin: TSpeedButton;
sbtnExit: TSpeedButton;
Bevel3: TBevel;
CoolBar1: TCoolBar;
sbtnWarehouseIn: TSpeedButton;
sbtnWarehouseOut: TSpeedButton;
Bevel2: TBevel;
sbtnCheckInfo: TSpeedButton;
CoolBar2: TCoolBar;
sbtnHelp: TSpeedButton;
sbtnAbout: TSpeedButton;
sbtnPWD: TSpeedButton;
mmOperats: TMenuItem;
mmMaterialType: TMenuItem;
mmMaterialInfo: TMenuItem;
N4: TMenuItem;
mmWareInfo: TMenuItem;
N2: TMenuItem;
mmVendor: TMenuItem;
mmCustomer: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
mmAbout: TMenuItem;
N22: TMenuItem;
ImageList1: TImageList;
CoolBar4: TCoolBar;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
sbtnQuery: TSpeedButton;
SpeedButton3: TSpeedButton;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormShow(Sender: TObject);
procedure mmLoginClick(Sender: TObject);
procedure mmLogOutClick(Sender: TObject);
procedure mmOperatsClick(Sender: TObject);
procedure sbtnExitClick(Sender: TObject);
procedure mmOperatorPwdClick(Sender: TObject);
procedure mmMaterialTypeClick(Sender: TObject);
procedure mmMaterialInfoClick(Sender: TObject);
procedure mmWareInfoClick(Sender: TObject);
procedure mmVendorClick(Sender: TObject);
procedure mmCustomerClick(Sender: TObject);
procedure mmWearhouseInSearchClick(Sender: TObject);
procedure mmWearhouseSearchClick(Sender: TObject);
procedure mmWearhouseOutSearchClick(Sender: TObject);
procedure mmWarehouseInClick(Sender: TObject);
procedure mmWarehouseOutClick(Sender: TObject);
procedure mmCheckInfoClick(Sender: TObject);
procedure mmAboutClick(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N22Click(Sender: TObject);
private
OperatorID:string;
OperatorName:string;
public
Int_flag:integer;//0:注销1:退出标志
procedure AssignLimit;
end;
var
frmWarehouseMain: TfrmWarehouseMain;
implementation
uses DM_Unit, Splash_Unit,OperatorLogin_Unit, About_Unit, Operators_Unit,
OPwdAlter_Unit, MaterialType_Unit, MaterialInfo_Unit, WareInfo_Unit,
Vendor_Unit, Customer_Unit, WarehouseInSearch_Unit,
WarehouseOutSearch_Unit, WarehouseSearch_Unit, WarehouseInUnit,
WarehouseOutUnit, CheckInfoUnit;
{$R *.dfm}
procedure TfrmWarehouseMain.AssignLimit;
var
i: Integer;
begin
for i := 1 to MainMenu1.Items.Count-2 do //所有功能可用
begin
MainMenu1.Items[i].Visible := False;
end;
end;
procedure TfrmWarehouseMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if MessageDlg('确实要退出系统吗?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
CanClose:=true
else
CanClose:=false;
end;
procedure TfrmWarehouseMain.FormShow(Sender: TObject);
var
i: Integer;
begin
Int_flag:=0;
for i := 1 to MainMenu1.Items.Count-2 do //所有功能不可用
begin
MainMenu1.Items[i].Visible := True;
end;
StatusBar1.Panels[2].text:=' '+formatdatetime('yyyy',now)+'年'+
formatdatetime('mm',now)+'月'+
formatdatetime('dd',now)+'日'+' '+
formatdatetime('dddd',now);
//StatusBar1.Panels[2].Width:=StatusBar1.Width-540;
StatusBar1.Panels[1].text:='操作员: '+ DM.OperatorName;
StatusBar1.Panels[0].text:='用户: '+ DM.OperatorID;
end;
procedure TfrmWarehouseMain.mmLoginClick(Sender: TObject);
var
MR:Boolean;
i,j:integer;
begin
try
if not Assigned(frmOperatorLogin) then
Application.CreateForm(TfrmOperatorLogin, frmOperatorLogin);
frmOperatorLogin.ShowModal;
MR:=frmOperatorLogin.MR;
OperatorID:=DM.OperatorID;
OperatorName:=DM.OperatorName;
finally
//frmOperatorLogin.Free;
//frmOperatorLogin := nil;
end;
if not MR then MR:=true else
begin
FormShow(self); //分配菜单
Int_flag:=0; //0:注销1:退出标志
mmLogOut.Caption:='注销';
sbtnLogin.Enabled := True;
for j:=0 to Self.ComponentCount-1 do
begin
if TComponent(Components[j]).Tag=10 then begin
TSpeedButton(Components[j]).Enabled := True;
end;
end;
end;
StatusBar1.Panels[2].text:=' '+formatdatetime('yyyy',now)+'年'+
formatdatetime('mm',now)+'月'+
formatdatetime('dd',now)+'日'+' '+
formatdatetime('dddd',now);
//StatusBar1.Panels[2].Width:=StatusBar1.Width-540;
StatusBar1.Panels[1].text:='操作员: '+ OperatorName;
StatusBar1.Panels[0].text:='用户: '+ OperatorID;
for i:=self.MDIChildCount-1 downto 0 do
begin
self.MDIChildren[i].Close;
end;
end;
procedure TfrmWarehouseMain.mmLogOutClick(Sender: TObject);
var
i,j:integer;
begin
if Int_flag=0 then
begin
if Application.MessageBox('确实要注销吗?','注销系统',MB_OKCANCEL+MB_ICONQUESTION)=IDOK then
begin
for i:=self.MDIChildCount-1 downto 0 do
begin
self.MDIChildren[i].Close;
end;
AssignLimit; //关闭菜单
Int_flag:=1;
mmLogOut.Caption:='退出';
sbtnLogin.Enabled := False;
for j:=0 to Self.ComponentCount-1 do
begin
if TComponent(Components[j]).Tag=10 then begin
TSpeedButton(Components[j]).Enabled := False;
end;
end;
StatusBar1.Panels[1].text:='操作员: ';
StatusBar1.Panels[0].text:='用户: ';
end;
end else
if Int_flag=1 then
begin
if Application.MessageBox('您确实要退出吗?','退出',MB_OKCANCEL+MB_ICONQUESTION)=IDOK
then Application.Terminate;
end
end;
procedure TfrmWarehouseMain.mmOperatsClick(Sender: TObject);
begin
frmOperators := TfrmOperators.Create(Application);
try
frmOperators.ShowModal;
except
frmOperators.Free;
frmOperators := nil;
end;
end;
procedure TfrmWarehouseMain.sbtnExitClick(Sender: TObject);
begin
Close;
end;
procedure TfrmWarehouseMain.mmOperatorPwdClick(Sender: TObject);
begin
frmOPwdAlter := TfrmOPwdAlter.Create(Application);
try
frmOPwdAlter.ShowModal;
except
frmOPwdAlter.Free;
frmOPwdAlter := nil;
end;
end;
procedure TfrmWarehouseMain.mmMaterialTypeClick(Sender: TObject);
begin
frmMaterialType := TfrmMaterialType.Create(Application);
try
frmMaterialType.ShowModal;
except
frmMaterialType.Free;
frmMaterialType := nil;
end;
end;
procedure TfrmWarehouseMain.mmMaterialInfoClick(Sender: TObject);
begin
if not Assigned(frmMaterialInfo) then
frmMaterialInfo := TfrmMaterialInfo.Create(Application);
try
frmMaterialInfo.Show;
except
frmMaterialInfo.Free;
frmMaterialInfo := nil;
end;
end;
procedure TfrmWarehouseMain.mmWareInfoClick(Sender: TObject);
begin
if not Assigned(frmWareInfo) then
frmWareInfo := TfrmWareInfo.Create(Application);
try
frmWareInfo.Show;
except
frmWareInfo.Free;
frmWareInfo := nil;
end;
end;
procedure TfrmWarehouseMain.mmVendorClick(Sender: TObject);
begin
if not Assigned(frmVendor) then
frmVendor := TfrmVendor.Create(Application);
try
frmVendor.Show;
except
frmVendor.Free;
frmVendor := nil;
end;
end;
procedure TfrmWarehouseMain.mmCustomerClick(Sender: TObject);
begin
if not Assigned(frmCustomer) then
frmCustomer := TfrmCustomer.Create(Application);
try
frmCustomer.Show;
except
frmCustomer.Free;
frmCustomer := nil;
end;
end;
procedure TfrmWarehouseMain.mmWearhouseInSearchClick(Sender: TObject);
begin
if not Assigned(frmWarehouseInsearch) then
frmWarehouseInsearch := TfrmWarehouseInsearch.Create(Application);
try
frmWarehouseInsearch.Show;
except
frmWarehouseInsearch.Free;
frmWarehouseInsearch := nil;
end;
end;
procedure TfrmWarehouseMain.mmWearhouseSearchClick(Sender: TObject);
begin
if not Assigned(frmWarehouseSearch) then
frmWarehouseSearch := TfrmWarehouseSearch.Create(Application);
try
frmWarehouseSearch.Show;
except
frmWarehouseSearch.Free;
frmWarehouseSearch := nil;
end;
end;
procedure TfrmWarehouseMain.mmWearhouseOutSearchClick(Sender: TObject);
begin
if not Assigned(frmWarehouseOutSearch) then
frmWarehouseOutSearch := TfrmWarehouseOutSearch.Create(Application);
try
frmWarehouseOutSearch.Show;
except
frmWarehouseOutSearch.Free;
frmWarehouseOutSearch := nil;
end;
end;
procedure TfrmWarehouseMain.mmWarehouseInClick(Sender: TObject);
begin
if not Assigned(frmWarehouseIn) then
frmWarehouseIn := TfrmWarehouseIn.Create(Application);
try
frmWarehouseIn.Show;
except
frmWarehouseIn.Free;
frmWarehouseIn := nil;
end;
end;
procedure TfrmWarehouseMain.mmWarehouseOutClick(Sender: TObject);
begin
if not Assigned(frmWarehouseOut) then
frmWarehouseOut := TfrmWarehouseOut.Create(Application);
try
frmWarehouseOut.Show;
except
frmWarehouseOut.Free;
frmWarehouseOut := nil;
end;
end;
procedure TfrmWarehouseMain.mmCheckInfoClick(Sender: TObject);
begin
frmCheckInfo := TfrmCheckInfo.Create(Application);
try
frmCheckInfo.ShowModal;
except
frmCheckInfo.Free;
frmCheckInfo := nil;
end;
end;
procedure TfrmWarehouseMain.mmAboutClick(Sender: TObject);
begin
frmAbout := TfrmAbout.Create(Application);
try
frmAbout.ShowModal;
except
frmAbout.Free;
frmAbout := nil;
end;
end;
procedure TfrmWarehouseMain.N16Click(Sender: TObject);
begin
Cascade;
end;
procedure TfrmWarehouseMain.N17Click(Sender: TObject);
begin
Tile;
end;
procedure TfrmWarehouseMain.N22Click(Sender: TObject);
begin
ArrangeIcons;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -