📄 untmain.pas
字号:
PN_SAVECOMPUTERINFO,
PN_DELETECOMPUTERINFO,
actMComputer );
end;
procedure TfrmMain.actMEmployeeExecute( Sender: TObject );
begin
{ 雇员管理 }
pLoadManagerForm(
m_bEmployeeLoaded,
TForm( frmEmployeeManager ),
TfrmEmployeeManager,
VN_EMPLOYEE,
KFN_EMPLOYEE,
PN_SAVEEMPLOYEEINFO,
PN_DELETEEMPLOYEEINFO,
actMEmployee );
end;
procedure TfrmMain.actMInAccessoryExecute( Sender: TObject );
begin
{ 进货管理 }
pLoadManagerForm(
m_bInAccessoryLoaded,
TForm( frmInAccessoryManager ),
TfrmInAccessoryManager,
VN_INACCESSORY,
KFN_INACCESSORY,
PN_SAVEINACCESSORYINFO,
PN_DELETEINACCESSORYINFO,
actMInAccessory );
end;
procedure TfrmMain.actMIncomeExpensesExecute( Sender: TObject );
begin
{ 收支管理 }
pLoadManagerForm(
m_bIncomeExpensesLoaded,
TForm( frmIncomeExpensesManager ),
TfrmIncomeExpensesManager,
VN_INCOMEEXPENSES,
KFN_INCOMEEXPENSES,
PN_SAVEINCOMEEXPENSESINFO,
PN_DELETEINCOMEEXPENSESINFO,
actMIncomeExpenses );
end;
procedure TfrmMain.actMMerchantExecute( Sender: TObject );
begin
{ 供货商管理 }
pLoadManagerForm(
m_bMerchantLoaded,
TForm( frmMerchantManager ),
TfrmMerchantManager,
VN_MERCHANT,
KFN_MERCHANT,
PN_SAVEMERCHANTINFO,
PN_DELETEMERCHANTINFO,
actMMerchant );
end;
procedure TfrmMain.actMOutAccessoryExecute( Sender: TObject );
begin
{ 出货管理 }
pLoadManagerForm(
m_bOutAccessoryLoaded,
TForm( frmOutAccessoryManager ),
TfrmOutAccessoryManager,
VN_OUTACCESSORY,
KFN_OUTACCESSORY,
PN_SAVEOUTACCESSORYINFO,
PN_DELETEOUTACCESSORYINFO,
actMOutAccessory );
end;
procedure TfrmMain.actMStartPageExecute( Sender: TObject );
begin
{ 起始页管理 }
pLoadManagerForm( m_bStartPageLoaded, TForm( frmMainStartPage ),
TfrmMainStartPage, EmptyStr, EmptyStr, EmptyStr, EmptyStr, actMStartPage );
end;
procedure TfrmMain.actMTCalcExecute( Sender: TObject );
begin
{ 启动计算器 }
WinExec( PChar( STR_CALCEXEFILENAME ), 1 );
end;
procedure TfrmMain.actMTIEDBFilesExecute( Sender: TObject );
begin
{ 启动导出导入数据库 }
WinExec( PChar( STR_IEDBFILESEXEFILENAME ), 1 )
end;
procedure TfrmMain.FormCreate( Sender: TObject );
begin
Caption := STR_APPMAINTITLE;
// TODO: 设置管理窗体是否显示的初始值
m_bMerchantLoaded := False;
m_bBrandLoaded := False;
m_bInAccessoryLoaded := False;
m_bComputerLoaded := False;
m_bOutAccessoryLoaded := False;
m_bAfterServiceLoaded := False;
m_bEmployeeLoaded := False;
m_bIncomeExpensesLoaded := False;
end;
function TfrmMain.GetCurrentPageAddr: Pointer;
begin
Result := tabMainContainer.Tabs[ tabMainContainer.TabIndex ].Data;
end;
function TfrmMain.GetCurrentPageIndex: Integer;
begin
Result := tabMainContainer.TabIndex;
end;
function TfrmMain.GetStatusItemsCount: string;
begin
Result := stpItemsCount.Caption;
end;
function TfrmMain.GetStatusRemark: string;
begin
Result := stpRemark.Caption;
end;
function TfrmMain.GetStatusSelectedCount: string;
begin
Result := stpSelectedCount.Caption;
end;
function TfrmMain.GetStatusSelectedIndex: string;
begin
Result := stpSelectedIndex.Caption;
end;
procedure TfrmMain.imgLogoClick( Sender: TObject );
begin
OpenURL( STR_APPHOMEPAGEURL );
end;
procedure TfrmMain.pACTInfoExecute( Sender: TObject );
var
pfrmCurrent: PForm;
frmManagerForm: TfrmJCAMManagerForm;
begin
if Sender is TAction then
begin
pfrmCurrent := tabMainContainer.Tabs[ tabMainContainer.TabIndex ].Data;
if ( pfrmCurrent <> @frmMainStartPage ) then
begin
frmManagerForm := TfrmJCAMManagerForm( pfrmCurrent^ );
if Sender = actInfoAdd then
frmManagerForm.TableViewEditorForm.ActionAdd.Execute;
if Sender = actInfoDelete then
frmManagerForm.TableViewEditorForm.ActionDelete.Execute;
if Sender = actInfoEdit then
frmManagerForm.TableViewEditorForm.ActionEdit.Execute;
if Sender = actInfoSave then
frmManagerForm.TableViewEditorForm.ActionSave.Execute;
if Sender = actInfoCancel then
frmManagerForm.TableViewEditorForm.ActionCancel.Execute;
if Sender = actInfoSelectAll then
frmManagerForm.SelectAllInfo;
if Sender = actInfoSimpleSearch then
frmManagerForm.FocusSimpleSearch;
end;
end;
end;
procedure TfrmMain.pLoadMainStartPage;
begin
{ 载入起始页面 }
actMStartPageExecute( Self );
tabMainContainer.Tabs.Delete( 0 );
end;
procedure TfrmMain.pLoadManagerForm( var bFormLoaded: Boolean; var
frmManagerForm: TForm; clsManagerForm: TFormClass; sTableViewName,
sKeyFieldName, sSaveInfoProcName, sDeleteInfoProcName: string;
actManagerControl: TAction );
var
n: Integer;
begin
{ 载入管理窗体 }
if bFormLoaded and ( frmManagerForm <> nil ) then
begin
frmManagerForm.Show;
// TODO: 切换到对应窗体的Tab
for n := 0 to tabMainContainer.Tabs.Count - 1 do
if tabMainContainer.Tabs[ n ].Data = @frmManagerForm then
begin
tabMainContainer.TabIndex := n;
Break;
end;
end
else
begin
// TODO: 创建窗体
frmManagerForm := clsManagerForm.Create( Self );
with frmManagerForm do
begin
Parent := pnlMainParent;
Show;
end;
// TODO: 判断是否为管理窗体
if frmManagerForm is TfrmJCAMManagerForm then
with TfrmJCAMManagerForm( frmManagerForm ) do
begin
Connection := g_cnJCAMIS;
TableViewName := sTableViewName;
KeyFieldName := sKeyFieldName;
SaveInfoProcName := sSaveInfoProcName;
DeleteInfoProcName := sDeleteInfoProcName;
StartSurf;
end;
// TODO: 添加选项卡
with tabMainContainer.Tabs.Add do
begin
Caption := actManagerControl.Caption;
ImageIndex := actManagerControl.ImageIndex;
Data := @frmManagerForm;
tabMainContainer.TabIndex := Index;
end;
bFormLoaded := True;
end;
end;
procedure TfrmMain.SetCurrentPageIndex( const Value: Integer );
begin
tabMainContainer.TabIndex := Value;
end;
procedure TfrmMain.SetLoginName( const Value: string );
begin
m_sLoginName := Value;
end;
procedure TfrmMain.SetStatusItemsCount( const Value: string );
begin
stpItemsCount.Caption := Value;
end;
procedure TfrmMain.SetStatusRemark( const Value: string );
begin
stpRemark.Caption := Value;
end;
procedure TfrmMain.SetStatusSelectedCount( const Value: string );
begin
stpSelectedCount.Caption := Value;
end;
procedure TfrmMain.SetStatusSelectedIndex( const Value: string );
begin
stpSelectedIndex.Caption := Value;
end;
procedure TfrmMain.StartSurf;
var
te: TTableEmployee;
begin
// TODO: 载入起始页
pLoadMainStartPage;
// TODO: 显示相关管理员信息
lblLoginName.Caption := LoginName;
lblLoginTime.Caption := RSTR_MAIN_NBLOGINTIME + DateTimeToStr( Now );
te := TTableEmployee.Create;
with te do
begin
Connection := g_cnJCAMIS;
LoginName := Self.LoginName;
lblRealName.Caption := RSTR_MAIN_NBLOGINNAME + EmployeeName;
end;
FreeAndNil( te );
end;
procedure TfrmMain.tabMainContainerChange( Sender: TObject );
begin
try
with tabMainContainer.Tabs[ tabMainContainer.TabIndex ] do
begin
StatusItemsCount := EmptyStr;
StatusSelectedCount := EmptyStr;
StatusSelectedIndex := EmptyStr;
StatusRemark := EmptyStr;
PForm( Data )^.Show;
if Data <> @frmMainStartPage then
PfrmJCAMManagerForm( Data )^.UpdateStatusCaption;
// TODO: 设置工作区域状态
stpWorkArea.Caption := Caption;
stpWorkArea.ImageIndex := ImageIndex;
end;
except
end;
end;
procedure TfrmMain.tabMainContainerClose( Sender: TObject;
var AllowClose: Boolean );
var
pfrmCurrent: PForm;
begin
{ 选项卡关闭 }
pfrmCurrent := tabMainContainer.Tabs[ tabMainContainer.TabIndex ].Data;
if pfrmCurrent = @frmMainStartPage then
AllowClose := False
else
begin
AllowClose := True;
// TODO: 设置相应的是否已载入窗体变量
if pfrmCurrent^ = frmAfterServiceManager then
m_bAfterServiceLoaded := False;
if pfrmCurrent^ = frmBrandManager then
m_bBrandLoaded := False;
if pfrmCurrent^ = frmComputerManager then
m_bComputerLoaded := False;
if pfrmCurrent^ = frmEmployeeManager then
m_bEmployeeLoaded := False;
if pfrmCurrent^ = frmInAccessoryManager then
m_bInAccessoryLoaded := False;
if pfrmCurrent^ = frmMerchantManager then
m_bMerchantLoaded := False;
if pfrmCurrent^ = frmOutAccessoryManager then
m_bOutAccessoryLoaded := False;
// TODO: 卸载窗体
FreeAndNil( pfrmCurrent^ );
end;
end;
procedure TfrmMain.tabMainContainerDblClick( Sender: TObject );
var
bAllowClosed: Boolean;
begin
tabMainContainerClose( Self, bAllowClosed );
if bAllowClosed then
begin
tabMainContainer.Tabs.Delete( tabMainContainer.TabIndex );
tabMainContainerChange( Self );
end;
end;
procedure TfrmMain.tbrMainResize( Sender: TObject );
var
ctl: TControl;
n, nTotalWidth: Integer;
begin
nTotalWidth := 0;
for n := 0 to tbrMain.ControlCount - 1 do
begin
ctl := tbrMain.Controls[ n ];
if ctl <> sprLogo then
Inc( nTotalWidth, ctl.Width );
end;
sprLogo.Width := tbrMain.ClientWidth - nTotalWidth - 4;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -