mainpas.pas
来自「DELPHI 编写个人工作计划事务管理软件」· PAS 代码 · 共 1,690 行 · 第 1/5 页
PAS
1,690 行
Share_Str.Add(Share_LogName);
end;
CWC_Str := TStringList.Create; //==== 创建字段名称字串 ====//
CountSelForm := TCountSelForm.Create(Application);
Try
Share_SqlStr:= ''; //==== 清空全局查询变量 ====//
StartDate := Date() - GetWeekDiffDay(FormatDateTime('ddd', Date()));
EndDate := Date() + (7- GetWeekDiffDay(FormatDateTime('ddd', Date())));
CountSelForm.ShowModal;
if CountSelForm.ModalResult = mrOK then begin
Share_SqlStr := Share_SqlStr + ' AND CreateDate>=''';
Share_SqlStr := Share_SqlStr + FormatDateTime('yyyyMMdd', StartDate) + ''' AND CreateDate<''';
Share_SqlStr := Share_SqlStr + FormatDateTime('yyyyMMdd', EndDate) + '''';
CWC_CheckOk := DataBaseSearch(Share_SqlStr, 1);
if CWC_CheckOk = FALSE then begin
FileOutput.Enabled := FALSE;
NWeekSpeedBut.Enabled := FALSE; //==== 本周按钮不可操作 ====//
StatusBar.Panels[1].Text := '本周统计统计出错';
end else begin
FlushListView(FALSE); //==== 刷新信息显示控件 ====//
FlushResultInfo(FALSE);
FlushSortBox(TRUE); //==== 隐藏排序操作控件 ====//
FlushWeekParle(TRUE); //==== 隐藏周统计面板件 ====//
FlushDBGridWith();
FileOutput.Enabled := TRUE;
StatusBar.Panels[1].Text := '#Recode : ' + IntToStr(ADOQuery.RecordCount) + ' 条';
ADOQuery.Fields.GetFieldNames(CWC_Str);
CB_RecordSort.Items.AddStrings(CWC_Str);
end;
end;
Finally
CountSelForm.Free;
CWC_Str.Free; //==== 释放字段名称字串 ====//
end;
end;
procedure TMainForm.CountMonthClick(Sender: TObject);
var CMC_CheckOk : Boolean;
CMC_Str : TStrings;
CMC_SqlStr : String;
begin
//==== 一个月统计时的过程代码 ====//
Share_Str.Clear; //==== 清空全局字串列表 ====//
StatusBar.Panels[0].Text := '统计';
StatusBar.Panels[1].Text := '';
StatusBar.Panels[2].Text := '月统计';
if Share_Level < 2 then begin
CMC_SqlStr := 'SELECT JihuaName FROM JihuaTable Group by JihuaName ORDER BY JihuaName';
CMC_CheckOk := DataBaseSearch(CMC_SqlStr, 1);
if CMC_CheckOk = FALSE then begin
StatusBar.Panels[2].Text := '提取姓名出错';
Exit;
end else begin
With ADOQuery do begin
First;
While(Not Eof) do begin
Share_Str.Add(Trim(FieldByName('JihuaName').AsString));
Next;
end;
Share_Str.Add('ALL USES');
Close;
end;
end;
end else begin
Share_Str.Add(Share_LogName);
end;
CMC_Str := TStringList.Create; //==== 记录数据字段名称 ====//
SelDayForm:= TSelDayForm.Create(Application);
Try
Share_SqlStr:= ''; //==== 清空全局查询变量 ====//
SelDayForm.ED_Day.Text := GetMonthDay(Date);
SelDayForm.ED_Day.Enabled := FALSE;
SelDayForm.ShowModal;
if SelDayForm.ModalResult= mrOK then begin
CMC_CheckOk := DataBaseSearch(Share_SqlStr, 1);
if CMC_CheckOk = FALSE then begin
FileOutput.Enabled := FALSE;
StatusBar.Panels[1].Text := '月统计出错';
//Application.MessageBox('月统计数据库记录时出错啦!!!', '提示', MB_OK);
end else begin
FlushListView(FALSE); //==== 刷新信息显示控件 ====//
FlushResultInfo(FALSE);
FlushSortBox(TRUE); //==== 隐藏排序操作控件 ====//
FlushWeekParle(FALSE); //==== 隐藏周统计面板件 ====//
FlushDBGridWith();
FileOutput.Enabled := TRUE;
StatusBar.Panels[1].Text := '#Recode : ' + IntToStr(ADOQuery.RecordCount) + ' 条';
ADOQuery.Fields.GetFieldNames(CMC_Str);
CB_RecordSort.Items.AddStrings(CMC_Str);
end;
end;
Finally
SelDayForm.Free;
CMC_Str.Free; //==== 释放字段名称字串 ====//
end;
end;
procedure TMainForm.CountYearClick(Sender: TObject);
var CYC_CheckOk : Boolean;
CYC_Str : TStrings;
CYC_SqlStr : String;
begin
//==== 一年统计时的过程代码 ====//
Share_Str.Clear; //==== 清空全局字串列表 ====//
StatusBar.Panels[0].Text := '统计';
StatusBar.Panels[1].Text := '';
StatusBar.Panels[2].Text := '年统计';
if Share_Level < 2 then begin
CYC_SqlStr := 'SELECT JihuaName FROM JihuaTable Group by JihuaName ORDER BY JihuaName';
CYC_CheckOk := DataBaseSearch(CYC_SqlStr, 1);
if CYC_CheckOk = FALSE then begin
StatusBar.Panels[2].Text := '提取姓名出错';
Exit;
end else begin
With ADOQuery do begin
First;
While(Not Eof) do begin
Share_Str.Add(Trim(FieldByName('JihuaName').AsString));
Next;
end;
Share_Str.Add('ALL USES');
Close;
end;
end;
end else begin
Share_Str.Add(Share_LogName);
end;
CYC_Str := TStringList.Create; //==== 记录数据字段名称 ====//
SelDayForm:= TSelDayForm.Create(Application);
Try
Share_SqlStr:= ''; //==== 清空全局查询变量 ====//
SelDayForm.ED_Month.Text := '1-12';
SelDayForm.ED_Month.Enabled := FALSE;
SelDayForm.ED_Day.Text := '1-31';
SelDayForm.ED_Day.Enabled := FALSE;
SelDayForm.ShowModal;
if SelDayForm.ModalResult= mrOK then begin
CYC_CheckOk := DataBaseSearch(Share_SqlStr, 1);
if CYC_CheckOk = FALSE then begin
FileOutput.Enabled := FALSE;
StatusBar.Panels[1].Text := '年统计出错';
//Application.MessageBox('年统计数据库记录时出错啦!!!', '提示', MB_OK);
end else begin
FlushListView(FALSE); //==== 刷新信息显示控件 ====//
FlushResultInfo(FALSE);
FlushSortBox(TRUE); //==== 隐藏排序操作控件 ====//
FlushWeekParle(FALSE); //==== 隐藏周统计面板件 ====//
FlushDBGridWith();
FileOutput.Enabled := TRUE;
StatusBar.Panels[1].Text := '#Recode : ' + IntToStr(ADOQuery.RecordCount) + ' 条';
ADOQuery.Fields.GetFieldNames(CYC_Str);
CB_RecordSort.Items.AddStrings(CYC_Str);
end;
end;
Finally
SelDayForm.Free;
CYC_Str.Free; //==== 释放字段名称字串 ====//
end;
end;
procedure TMainForm.ManageOptionClick(Sender: TObject);
begin
//==== 程式工具选项的过程代码 ====//
OptionForm := TOptionForm.Create(Application); //==== 创建选项面板 ====//
Try
OptionForm.ShowModal;
if OptionForm.ModalResult = mrOK then begin
StatusBar.Panels[2].Text := '创建用户成功';
end;
Finally
OptionForm.Free; //==== 释放选项面板 ====//
end;
end;
{****************************************}
{******** 工具条命令的过程与代码 ********}
{****************************************}
procedure TMainForm.NewsToolButClick(Sender: TObject);
begin
//==== 单击新建过程代码 ====//
FileNewsClick(FileNews);
end;
procedure TMainForm.ModifyToolButClick(Sender: TObject);
begin
//==== 修改命令按钮单击时的过程代码 ====//
FileModifyClick(FileModify);
end;
procedure TMainForm.DeleteToolButClick(Sender: TObject);
begin
//---- 删除按钮单击时代码 ----//
FileDeleteClick(FileDelete);
end;
procedure TMainForm.ViewToolButClick(Sender: TObject);
begin
//==== 显示命令按钮时的过程代码 ====//
ManageViewClick(ManageView);
end;
procedure TMainForm.CountToolButClick(Sender: TObject);
begin
//==== 统计命令按钮单击时的过程代码 ====//
CountWeekClick(CountWeek);
end;
procedure TMainForm.OptionToolButClick(Sender: TObject);
begin
//==== 选项工具命令时的过程代码 ====//
ManageOptionClick(ManageOption);
end;
{**************************************}
{******** 快击键菜单的过程代码 ********}
{**************************************}
procedure TMainForm.PopuNewsClick(Sender: TObject);
begin
//==== 新建工件记划快捷键的过程代码 ====//
FileNewsClick(FileNews);
end;
procedure TMainForm.PopuModifyClick(Sender: TObject);
begin
//==== 修改快捷键单击时的过程代码 ====//
FileModifyClick(FileModify);
end;
procedure TMainForm.PopuDeleteClick(Sender: TObject);
begin
//---- 弹出删除按钮单击时代码 ----//
FileDeleteClick(FileDelete);
end;
procedure TMainForm.PopuCountDayClick(Sender: TObject);
begin
//==== 右键弹出菜单日统计 ====//
CountDayClick(CountDay);
end;
procedure TMainForm.PopuCountWeekClick(Sender: TObject);
begin
//==== 一周统计快捷键单击时的过程代码 ====//
CountWeekClick(CountWeek);
end;
procedure TMainForm.PopuCountMonthClick(Sender: TObject);
begin
//==== 一月统计快捷键单击时的过程代码 ====//
CountMonthClick(CountMonth);
end;
procedure TMainForm.PopuCountYearClick(Sender: TObject);
begin
//==== 一年统计快捷键单击时的过程代码 ====//
CountYearClick(CountYear);
end;
procedure TMainForm.DownPopuDayClick(Sender: TObject);
begin
//==== 下拉一日统记 ====//
CountDayClick(CountDay);
end;
procedure TMainForm.DownPopuWeekClick(Sender: TObject);
begin
//==== 工具弹出命令一周统计的过程代码 ====//
CountWeekClick(CountWeek);
end;
procedure TMainForm.DownPopuMonthClick(Sender: TObject);
begin
//==== 工具弹出命令一月统计的过程代码 ====//
CountMonthClick(CountMonth);
end;
procedure TMainForm.DownPopuYearClick(Sender: TObject);
begin
//==== 工具弹出命令一年统计的过程代码 ====//
CountYearClick(CountYear);
end;
{****************************************}
{******** 显示列表框操作时的过程 ********}
{****************************************}
procedure TMainForm.JihuaListViewDblClick(Sender: TObject);
begin
//==== 信息列表框双击时的过程代码 ====//
FileModifyClick(FileModify);
end;
procedure TMainForm.JihuaListViewSelectItem(Sender: TObject;
Item: TListItem; Selected: Boolean);
begin
if Selected = TRUE then begin
StatusBar.Panels[0].Text := '选择';
StatusBar.Panels[2].Text := '#Select Row : ' + IntToStr(Item.Index + 1) + ' 行';
Share_Str.Clear; //---- 清空字串列表全局变量 ----//
FlushResultBut(TRUE);
Share_Str.Add(Trim(Item.Caption));
Share_Str.AddStrings(Item.SubItems);
end else begin
StatusBar.Panels[0].Text := '就绪';
StatusBar.Panels[2].Text := '#Select Row : 0 行';
Share_Str.Clear; //---- 清空字串列表全局变量 ----//
FlushResultBut(FALSE);
end;
end;
{**************************************}
{******** 新增统计控件过程代码 ********}
{**************************************}
procedure TMainForm.CB_RecordSortChange(Sender: TObject);
var RSC_SqlStr : String;
RSC_CheckOk : Boolean;
begin
//==== 排序选择控件改变时代码 ====//
if (Share_SqlStr <> '') and (Trim(CB_RecordSort.Text)<>'')then begin //and
//(CompareText('JihuaMain', Trim(CB_RecordSort.Text))<> 0)and
//(CompareText('JihuaRemark', Trim(CB_RecordSort.Text))<> 0)then begin
RSC_SqlStr := Share_SqlStr + ' ORDER BY ' + Trim(CB_RecordSort.Text);
RSC_CheckOk := DataBaseSearch(RSC_SqlStr, 1);
if RSC_CheckOk = FALSE then begin
FileOutput.Enabled := FALSE;
//Application.MessageBox('排序时出错啦!!!!', '提示', MB_OK);
end else begin
FlushListView(FALSE); //==== 刷新信息显示控件 ====//
FlushDBGridWith();
FileOutput.Enabled := TRUE;
end;
end;
end;
procedure TMainForm.FWeekSpeedButClick(Sender: TObject);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?