📄 mainunit.~pas
字号:
unit MainUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RM_Class, RM_e_main, RM_e_Xls, cxEditRepositoryItems,ADODB,
ActnList, RzSplit, cxEdit, XPMan, RM_Dataset, RM_GridReport, ExtCtrls,
XPMenu, ImgList, StdActns, Menus, RzGroupBar, ComCtrls, ToolWin,
RzStatus, RzPanel, RM_Common,iniFiles, DB;
type
TfrmMain = class(TForm)
RzStatusBar1: TRzStatusBar;
RzStatusPane1: TRzStatusPane;
RzClockStatus1: TRzClockStatus;
RzKeyStatus1: TRzKeyStatus;
RzKeyStatus2: TRzKeyStatus;
RzStatusPane2: TRzStatusPane;
MainMenu1: TMainMenu;
File1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N1: TMenuItem;
FileExitItem: TMenuItem;
N48: TMenuItem;
N49: TMenuItem;
N50: TMenuItem;
N51: TMenuItem;
N52: TMenuItem;
N53: TMenuItem;
N54: TMenuItem;
N55: TMenuItem;
N56: TMenuItem;
N57: TMenuItem;
N58: TMenuItem;
N59: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
W1: TMenuItem;
C1: TMenuItem;
N7: TMenuItem;
N6: TMenuItem;
N8: TMenuItem;
Help1: TMenuItem;
H1: TMenuItem;
N47: TMenuItem;
N35: TMenuItem;
N36: TMenuItem;
HelpAboutItem: TMenuItem;
ActionList1: TActionList;
WindowCascade1: TWindowCascade;
WindowTileHorizontal1: TWindowTileHorizontal;
WindowTileVertical1: TWindowTileVertical;
WindowMinimizeAll1: TWindowMinimizeAll;
ImageList2: TImageList;
ImageList1: TImageList;
Timer1: TTimer;
XPManifest1: TXPManifest;
cxEditRepository1: TcxEditRepository;
DateEdit: TcxEditRepositoryDateItem;
TimeEdit: TcxEditRepositoryTimeItem;
MoneyEdit: TcxEditRepositoryCurrencyItem;
IntegerEdit: TcxEditRepositorySpinItem;
NewProduct: TAction;
ProdAnalysis: TAction;
HelpAbort: TAction;
SaleOrder: TAction;
PrintInvoice: TAction;
N5: TMenuItem;
N9: TMenuItem;
Product: TAction;
ChangePassword: TAction;
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
FileExit: TAction;
ReturnOrder: TAction;
PowerManagement: TAction;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
PlanManage: TAction;
PurchaseOrder: TAction;
XPMenu1: TXPMenu;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
ToolButton13: TToolButton;
ToolButton14: TToolButton;
ToolButton15: TToolButton;
ToolButton16: TToolButton;
ToolButton17: TToolButton;
CustomerManage: TAction;
OtherInput: TAction;
OtherOut: TAction;
Exportform: TAction;
N14: TMenuItem;
procedure LoadPower;
procedure ShowWindows(ID: Integer);
procedure NewProductExecute(Sender: TObject);
procedure ProdAnalysisExecute(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure HelpAbortExecute(Sender: TObject);
procedure SaleOrderExecute(Sender: TObject);
procedure PrintInvoiceExecute(Sender: TObject);
procedure ProductExecute(Sender: TObject);
procedure ChangePasswordExecute(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure FileExitExecute(Sender: TObject);
procedure ReturnOrderExecute(Sender: TObject);
procedure PowerManagementExecute(Sender: TObject);
procedure PlanManageExecute(Sender: TObject);
procedure PurchaseOrderExecute(Sender: TObject);
procedure CustomerManageExecute(Sender: TObject);
procedure OtherInputExecute(Sender: TObject);
procedure OtherOutExecute(Sender: TObject);
procedure ExportformExecute(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
bLogin :Boolean;
//*******权限部分*****************
power : Boolean; //权限管理
password : Boolean; //密码
print : Boolean; //打印
DataOut : Boolean; //数据导出
BackUp : Boolean; //备份还原
LogDiary : Boolean; //查看日志
end;
var
frmMain: TfrmMain;
IsMax : integer=-1;
Maxs : Boolean=false;
// DataSet : TADODataSet; //数据源
Ini : TiniFile;
productList : TStringList;
sqltext,sInvCode : string;
i : integer;
procedure OpenForm(FormClass: TFormClass; var fm; AOwner:TComponent);
implementation
uses
ProdAnalysisUnit, NewProductUnit, LoginUnit, Welcome, DataUnit,
SalesOrderUnit, PrintInvoiceUnit, ChangePasswordUnit, ProductUnit,
ReturnOrderUnit, PowerUnit, PlanbrowerUnit, PurchaseOrderUnit,
CustManageUnit, ExportfromUnit;
{$R *.dfm}
procedure TfrmMain.NewProductExecute(Sender: TObject);
begin
if dm.tbPower.FieldValues['M'+inttostr(TAction(sender).Tag)] then
ShowWindows(TAction(sender).Tag)
else begin
showmessage('无权执行,请咨询系统管理员!');
exit;
end;
end;
procedure TfrmMain.ProdAnalysisExecute(Sender: TObject);
begin
if dm.tbPower.FieldValues['M'+inttostr(TAction(sender).Tag)] then
ShowWindows(TAction(sender).Tag)
else begin
showmessage('无权执行,请咨询系统管理员!');
exit;
end;
end;
procedure TfrmMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if Messagebox(handle,'您确定要退出当前系统吗?','询问',MB_YESNO+MB_ICONQUESTION)=IDYES then begin
CanClose:=true;
end
else CanCLose:=false;
end;
procedure TfrmMain.HelpAbortExecute(Sender: TObject);
begin
FrmWelCome.ShowModal;
end;
procedure TfrmMain.ShowWindows(ID: Integer);
begin
//分配窗口显示
case ID of
102 : frmPassword.ShowModal;//更改密码
103 : frmPower.ShowModal;//更改密码
201 : OpenForm(TfrmNewProduct, frmNewProduct, Self); //新品建档
202 : OpenForm(TfrmProdAnalysis, frmProdAnalysis, Self); //产品分析
203 : OpenForm(TfrmProduct, frmProduct, Self); //产品分析
204 : OpenForm(TfrmPlanbrower, frmPlanbrower, Self); //产品分析
301 : OpenForm(TfrmPurchaseOrder, frmPurchaseOrder, Self); //销售订货订单审核
302 : OpenForm(TfrmSaleOrder, frmSaleOrder, Self); //销售订货订单审核
303 : OpenForm(TfrmReturnOrder, frmReturnOrder, Self); //销售订货订单审核
310 : OpenForm(TfrmExportfrom, frmExportfrom, Self); //销售订货订单审核
401 : OpenForm(TfrmPrintInvoice, frmPrintInvoice, Self); //出货单打印设置
501 : OpenForm(TfrmCusManage, frmCusManage, Self); //出货单打印设置
{ 54 : OpenForm(TNewProductAnalysisFrom, NewProductAnalysisFrom, Self); //显示产品信息
55 : PowerSetForm.ShowModal; //权限管理
57 : LogForm.ShowModal;//系统日志
58 : EditAreaForm.ShowModal;//区域设置
59 : BackUpForm.ShowModal;//备份数据库
60 : OptionForm.ShowModal;//数据备份设置
61 : CompressDataForm.ShowModal;//ACCESS数据压缩
64 : SortSetForm.ShowModal; //设置数据库类别
}
end;
end;
procedure OpenForm(FormClass: TFormClass; var fm; AOwner:TComponent);
{根据传递过来的参数,打开相应的窗体}
var
i: integer;
Child:TForm;
begin
for i := 0 to Screen.FormCount -1 do
if Screen.Forms[i].ClassType=FormClass then
begin
{检查窗体是否已经打开,如果没有打开,打开它,
如果已经打开,让它正常显示即可}
Child:=Screen.Forms[i];
if Child.WindowState=wsMinimized then
ShowWindow(Child.handle,SW_SHOWNORMAL)
else
ShowWindow(Child.handle,SW_SHOWNA);
if (not Child.Visible) then Child.Visible:=True;
Child.BringToFront;
Child.Setfocus;
TForm(fm):=Child;
exit;
end;
Child:=TForm(FormClass.NewInstance);
TForm(fm):=Child;
Child.Create(AOwner);
end;
procedure TfrmMain.FormActivate(Sender: TObject);
begin
if (not Maxs)and(IsMax=1) then begin
FrmMain.WindowState:=wsMaximized;
Maxs:=true;
end;
if not bLogin then begin
FrmLogin.RzEdit1.Clear;
FrmLogin.ShowModal;
if Not bLogin then
Application.Terminate
else begin
LoadPower; //导入权限分配
// TestOverdueData;
end;
end;
dm.tbPower.Locate('UserName',FrmLogin.LandingUser,[]);
end;
procedure TfrmMain.FormCreate(Sender: TObject);
var
L, T, W ,H : Integer;
begin
//读取INI文件以判断窗口位置
ini:=TiniFile.Create(ExtractFilePath(paramstr(0))+'CRM.ini');
IsMax := ini.ReadInteger('MaxWindow','Max',-1);
L := ini.ReadInteger('WindowsState','Left',0);
T := Ini.ReadInteger('WindowsState','Top',0);
W := Ini.ReadInteger('WindowsState','Width',0);
H := Ini.ReadInteger('WindowsState','Height',0);
if IsMax<>0 then
FrmMain.Position:=poScreenCenter
else begin
Left := L;
Top := T;
Width := W;
Height := H;
end;
productList:=TStringList.Create;
if FileExists('MainGroup.bmp') then
// Image1.Picture.Bitmap.LoadFromFile('MainGroup.bmp');
// RzGroup6.DoubleBuffered:=true;
bLogin:=false;
end;
procedure TfrmMain.LoadPower;
begin
//导入权限分配
{ PowerChange.Enabled:=power;
ChangePassword.Enabled:=Password;
SystemLog.Enabled:=Log;
BackUpdata.Enabled:=BackUp;
Option.Enabled:=BackUp;
LogReport.Enabled:=Log;
EXCEL1.Enabled:=DataOut;
}
end;
procedure TfrmMain.SaleOrderExecute(Sender: TObject);
begin
if dm.tbPower.FieldValues['M'+inttostr(TAction(sender).Tag)] then
ShowWindows(TAction(sender).Tag)
else begin
showmessage('无权执行,请咨询系统管理员!');
exit;
end;
end;
procedure TfrmMain.PrintInvoiceExecute(Sender: TObject);
begin
if dm.tbPower.FieldValues['M'+inttostr(TAction(sender).Tag)] then
ShowWindows(TAction(sender).Tag)
else begin
showmessage('无权执行,请咨询系统管理员!');
exit;
end;
end;
procedure TfrmMain.ProductExecute(Sender: TObject);
begin
if dm.tbPower.FieldValues['M'+inttostr(TAction(sender).Tag)] then
ShowWindows(TAction(sender).Tag)
else begin
showmessage('无权执行,请咨询系统管理员!');
exit;
end;
end;
procedure TfrmMain.ChangePasswordExecute(Sender: TObject);
begin
ShowWindows(TAction(sender).Tag)
end;
procedure TfrmMain.N2Click(Sender: TObject);
begin
FrmLogin.UserExitDate;
bLogin:=false;
RzStatusPane2.Caption:='';
FormActivate(sender);
end;
procedure TfrmMain.FileExitExecute(Sender: TObject);
begin
Close;
end;
procedure TfrmMain.ReturnOrderExecute(Sender: TObject);
begin
if dm.tbPower.FieldValues['M'+inttostr(TAction(sender).Tag)] then
ShowWindows(TAction(sender).Tag)
else begin
showmessage('无权执行,请咨询系统管理员!');
exit;
end;
end;
procedure TfrmMain.PowerManagementExecute(Sender: TObject);
begin
if dm.tbPower.FieldValues['M'+inttostr(TAction(sender).Tag)] then
ShowWindows(TAction(sender).Tag)
else begin
showmessage('无权执行,请咨询系统管理员!');
exit;
end;
end;
procedure TfrmMain.PlanManageExecute(Sender: TObject);
begin
ShowWindows(TAction(sender).Tag);
end;
procedure TfrmMain.PurchaseOrderExecute(Sender: TObject);
begin
ShowWindows(TAction(sender).Tag)
end;
procedure TfrmMain.CustomerManageExecute(Sender: TObject);
begin
ShowWindows(TAction(sender).Tag)
end;
procedure TfrmMain.OtherInputExecute(Sender: TObject);
begin
ShowWindows(TAction(sender).Tag)
end;
procedure TfrmMain.OtherOutExecute(Sender: TObject);
begin
ShowWindows(TAction(sender).Tag)
end;
procedure TfrmMain.ExportformExecute(Sender: TObject);
begin
if dm.tbPower.FieldValues['M927'] then
ShowWindows(TAction(sender).Tag)
else begin
showmessage('无权执行,请咨询系统管理员!');
exit;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -