📄 maincjfm.pas
字号:
unit MainCjFM;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
fcOutlookList, fcButton, fcImgBtn, fcShapeBtn, ExtCtrls, fcClearPanel,
fcButtonGroup, fcOutlookBar, Menus, ComCtrls, ActnList, StdCtrls, ImgList;
const
conStaBarWidth = 600;
type
TFM_MainCj = class(TForm)
stb_Main: TStatusBar;
mm_Main: TMainMenu;
mmi_SysSet: TMenuItem;
mmi_SysSet_CjUser: TMenuItem;
mmi_SysSet_TimeTable: TMenuItem;
mmi_User: TMenuItem;
mmi_User_Import: TMenuItem;
mmi_User_Info: TMenuItem;
mmi_User_Statistics: TMenuItem;
actnlst: TActionList;
actn_SysSet_CjUser: TAction;
actn_SysSet_TimeTable: TAction;
actn_User_Import: TAction;
actn_User_Info: TAction;
actn_User_Statistics: TAction;
mmi_File: TMenuItem;
actn_File_Quit: TAction;
mmi_File_Exit: TMenuItem;
A1: TMenuItem;
fcOutlookBar1: TfcOutlookBar;
fcOutlookBar1OutlookList1: TfcOutlookList;
fcOutlookBar1fcShapeBtn1: TfcShapeBtn;
fcOutlookBar1OutlookList2: TfcOutlookList;
fcOutlookBar1fcShapeBtn2: TfcShapeBtn;
pnl_Main: TPanel;
Splitter1: TSplitter;
pnl_Top: TPanel;
pnl_Client: TPanel;
lbl_Title: TLabel;
imglst_Main: TImageList;
tm_ImportData: TTimer;
tm_UpdateTodayNum: TTimer;
procedure actn_SysSet_CjUserExecute(Sender: TObject);
procedure actn_SysSet_TimeTableExecute(Sender: TObject);
procedure actn_User_ImportExecute(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure actn_User_InfoExecute(Sender: TObject);
procedure DisplayHint(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure actn_File_QuitExecute(Sender: TObject);
procedure actn_User_StatisticsExecute(Sender: TObject);
procedure A1Click(Sender: TObject);
procedure tm_UpdateTodayNumTimer(Sender: TObject);
procedure tm_ImportDataTimer(Sender: TObject);
private
{ Private declarations }
function CanClose:boolean;
procedure CloseActiveForm;
procedure LoadConfig;
public
{ Public declarations }
procedure ConVertErrorException(Sender: Tobject;E: Exception);
end;
var
FM_MainCj: TFM_MainCj;
implementation
uses CjUserListFM,CallOutTimeTableFM,CreateCJDataFM,
CjUserInfoFM,CjStatisticsFM,AboutFM,SystemPH, systemDM,sourceph;
{$R *.DFM}
procedure TFM_MainCj.LoadConfig;
var
iPos:integer;
sTemp:string;
begin
{
BAutoImport,BAutoUpdateToDayNum:Boolean; //自动导入、自动重置每日催缴
iImportFreq:integer; //导数据频率,1:每天 2:每月
iImportDay:integer; //导入日
sImportTime,sUpdateToDayNumTime:string; //导入时间、重置催缴时间
}
if lowercase(SysDM.ReadIni('system','AutoImport','false'))='true' then
BAutoImport:=true
else
BAutoImport:=False;
if lowercase(SysDM.ReadIni('system','AutoUpdateTodayNum','true'))='true' then
BAutoUpdateTodayNum:=true
else
BAutoUpdateTodayNum:=False;
iImportFreq :=StrtoIntDef(SysDM.ReadIni('system','ImportFreq','1'),1);
iImportDay :=StrToIntDef(SysDM.ReadIni('system','ImportDay','1'),1);
sImportTime :=SysDM.ReadIni('system','ImportTime','07:00:00');
//将'07:00:00'字符串转换为 时、分、秒
iPos:=Pos(':',sImportTime);
ImportHour :=StrToIntDef(copy(sImportTime,1,iPos-1),7);
sTemp:=Copy(sImportTime,iPos+1,Length(sImportTime)-iPos);
iPos:=Pos(':',sTemp);
ImportMin :=StrToIntDef(Copy(sTemp,1,iPos-1),0);
ImportSec :=StrToIntDef(Copy(sTemp,iPos+1,Length(sTemp)-iPos),0);
sUpdateTodayNumTime :=SysDM.ReadIni('system','UpdateTodayNumTime','09:00:00');
iPos:=Pos(':',sUpdateTodayNumTime);
UpdTodayNumHour :=StrToIntDef(copy(sUpdateTodayNumTime,1,iPos-1),7);
sTemp:=Copy(sUpdateTodayNumTime,iPos+1,Length(sUpdateTodayNumTime)-iPos);
iPos:=Pos(':',sTemp);
UpdTodayNumMin :=StrToIntDef(Copy(sTemp,1,iPos-1),0);
UpdTodayNumSec :=StrToIntDef(Copy(sTemp,iPos+1,Length(sTemp)-iPos),0);
end;
procedure TFM_MainCj.DisplayHint(Sender: TObject);
begin
stb_Main.Panels[0].Text:= GetLongHint(Application.Hint);
end;
procedure TFM_MainCj.ConVertErrorException(Sender: Tobject;E: Exception);
begin
showMessage(E.Message);
end;
function TFM_MainCj.CanClose:boolean;
begin
if Application.MessageBox('是否退出催缴系统?','提示',mb_YesNo+MB_ICONQUESTION)=IdYes then
result:=true
else
Result:=False;
end;
procedure TFM_MainCj.CloseActiveForm;
var
i:integer;
TempForm:TForm;
begin
for i := 0 to Screen.FormCount - 1 do
begin
TempForm:=Screen.Forms[i];
if TempForm.parent is TPanel then TempForm.Close;
end;
end;
procedure TFM_MainCj.actn_SysSet_CjUserExecute(Sender: TObject);
//var
// FM_CjUserList: TFM_CjUserList;
begin
CloseActiveForm;
FM_CjUserList:=TFM_CjUserList.Create(Self,pnl_Client);
FM_CjUserList.Show;
lbl_Title.Caption:=FM_CjUserList.Caption ;
end;
procedure TFM_MainCj.actn_SysSet_TimeTableExecute(Sender: TObject);
//var
// FM_CallOutTimeTable: TFM_CallOutTimeTable;
begin
CloseActiveForm;
FM_CallOutTimeTable:=TFM_CallOutTimeTable.Create(Self,pnl_Client);
FM_CallOutTimeTable.Show;
lbl_Title.Caption:=FM_CallOutTimeTable.Caption ;
end;
procedure TFM_MainCj.actn_User_ImportExecute(Sender: TObject);
//var
// FM_CreateCJData: TFM_CreateCJData;
begin
CloseActiveForm;
FM_CreateCJData:=TFM_CreateCJData.Create(Self,pnl_Client);
FM_CreateCJData.Show;
lbl_Title.Caption:=FM_CreateCJData.Caption ;
end;
procedure TFM_MainCj.FormCreate(Sender: TObject);
begin
application.OnException:=ConVertErrorException;
Application.OnHint:=DisplayHint;
application.Title :=SystemConst_AppExplain;
lbl_Title.Caption :='';
stb_Main.Panels[0].Width:=stb_Main.Width-conStaBarWidth;
stb_Main.Panels[1].Text:='操作员:'+sysDM.WorkName;
stb_Main.Panels[2].Text:='登录时间:'+FormatDateTime('YYYY/MM/DD HH:NN:SS',Date+Time);
LoadConfig;
tm_ImportData.Enabled :=true;
tm_UpdateTodayNum.Enabled :=true;
end;
procedure TFM_MainCj.actn_User_InfoExecute(Sender: TObject);
//var
// FM_CjUserInfo: TFM_CjUserInfo;
begin
CloseActiveForm;
FM_CjUserInfo:=TFM_CjUserInfo.Create(Self,pnl_Client);
//FM_CjUserInfo:=TFM_CjUserInfo.Create(self);
FM_CjUserInfo.Show;
lbl_Title.Caption:=FM_CjUserInfo.Caption ;
end;
procedure TFM_MainCj.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if not CanClose then
Action:=caNone;
end;
procedure TFM_MainCj.actn_File_QuitExecute(Sender: TObject);
begin
Close;
end;
procedure TFM_MainCj.actn_User_StatisticsExecute(Sender: TObject);
//var
// FM_CjStatistics: TFM_CjStatistics;
begin
CloseActiveForm;
FM_CjStatistics:=TFM_CjStatistics.Create(Self,pnl_Client);
FM_CjStatistics.Show;
lbl_Title.Caption:=FM_CjStatistics.Caption ;
end;
procedure TFM_MainCj.A1Click(Sender: TObject);
//var
// FM_About: TFM_About;
begin
FM_About:=TFM_About.create(Self);
FM_About.ShowModal;
end;
procedure TFM_MainCj.tm_UpdateTodayNumTimer(Sender: TObject);
var
Hour,Min,Sec,MSec:Word;
begin
DeCodeTime(Now,Hour,Min,Sec,MSec);
if (Hour=UpdTodayNumHour) and (Min=UpdTodayNumMin) then
begin
SysDM.SQL_Exec(SysDM.Qr_UpdateTodayNum,
'update cj_table set Today_Num=0 where Today_Num>0',
true);
end;
end;
procedure TFM_MainCj.tm_ImportDataTimer(Sender: TObject);
var
Year,Month,Day,Hour,Min,Sec,MSec:Word;
begin
DeCodeTime(Now,Hour,Min,Sec,MSec);
if iImportFreq = 1 then
begin
if (Hour=ImportHour) and (Min=ImportMin) then
begin
CloseActiveForm;
FM_CreateCJData:=TFM_CreateCJData.CreateForm(Self,pnl_Client,true);
FM_CreateCJData.Show;
lbl_Title.Caption:=FM_CreateCJData.Caption ;
end;
end else
begin
DeCodeDate(Now,Year,Month,Day);
if (Day = iImportDay) and (Hour=ImportHour) and (Min=ImportMin) then
begin
CloseActiveForm;
FM_CreateCJData:=TFM_CreateCJData.CreateForm(Self,pnl_Client,true);
FM_CreateCJData.Show;
lbl_Title.Caption:=FM_CreateCJData.Caption ;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -