📄 hwwork.pas.svn-base
字号:
unit HwWork;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dxExEdtr, DB, ADODB, Menus, ActnList, ImgList, StdCtrls,
Buttons, wwdbdatetimepicker, ExtCtrls, dxDBTLCl, dxGrClms, dxDBCtrl,
dxDBGrid, dxTL, dxCntner, ComCtrls, dxtree, dxdbtree, ToolWin, ShellAPI;
type
THwWorkForm = class(TForm)
Splitter1: TSplitter;
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
tlbFile: TToolButton;
tlbEdit: TToolButton;
tlbReport: TToolButton;
tlbHelp: TToolButton;
Animate1: TAnimate;
ToolBar2: TToolBar;
Panel2: TPanel;
Splitter2: TSplitter;
pnLists: TPanel;
Panel1: TPanel;
pnReports: TPanel;
tvReports: TdxDBTreeView;
tvLists: TdxDBTreeView;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
ScrollBox1: TScrollBox;
dbgMaster: TdxDBGrid;
Panel5: TPanel;
Image1: TImage;
sbSearch: TSpeedButton;
lblClass: TLabel;
lblDate: TLabel;
cbClass: TComboBox;
edtFromDate: TwwDBDateTimePicker;
edtToDate: TwwDBDateTimePicker;
Panel6: TPanel;
bbtnRefresh: TBitBtn;
bbtnLocate: TBitBtn;
bbtnSearch: TBitBtn;
bbtnPrint: TBitBtn;
bbtnUpdate: TBitBtn;
bbtnDelete: TBitBtn;
bbtnInsert: TBitBtn;
bbtnExcel: TBitBtn;
TabSheet2: TTabSheet;
dxDBGrid1: TdxDBGrid;
dxDBGrid1S910_002: TdxDBGridDateColumn;
dxDBGrid1S910_003: TdxDBGridMaskColumn;
dxDBGrid1S910_004: TdxDBGridMaskColumn;
MainMenu1: TMainMenu;
mmiFile: TMenuItem;
N40: TMenuItem;
C1: TMenuItem;
U1: TMenuItem;
N41: TMenuItem;
X1: TMenuItem;
mmiEdit: TMenuItem;
mmiReport: TMenuItem;
mmiHelp: TMenuItem;
mmiContents: TMenuItem;
mmiEamil: TMenuItem;
mmiHome: TMenuItem;
mmiUpgrade: TMenuItem;
N9: TMenuItem;
mmiAbout: TMenuItem;
N1: TMenuItem;
mmiRegister: TMenuItem;
imgButton: TImageList;
ActionList1: TActionList;
ActContents: TAction;
ActEmail: TAction;
ActHomePage: TAction;
ActAbout: TAction;
ActReg: TAction;
ActUpgrade: TAction;
ActPass: TAction;
ActLongin: TAction;
ActExit: TAction;
ActOpen: TAction;
ActInsert: TAction;
ActUpdate: TAction;
ActDelete: TAction;
ActRefresh: TAction;
ActLocate: TAction;
ActSearch: TAction;
ActPrint: TAction;
ActExport: TAction;
imgLists: TImageList;
dsLists: TDataSource;
imgPage: TImageList;
PopupMenu5: TPopupMenu;
mmiReaded: TMenuItem;
dsMaster: TDataSource;
adsReports: TADODataSet;
adsReportsCode: TStringField;
adsReportsName: TStringField;
dsReports: TDataSource;
adsLists: TADODataSet;
imgReports: TImageList;
popInsert: TPopupMenu;
D1: TMenuItem;
N44: TMenuItem;
miIncome: TMenuItem;
miPayment: TMenuItem;
miTransfer: TMenuItem;
qryMaster: TADOQuery;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
adsMaster: TADODataSet;
MenuItem11: TMenuItem;
MenuItem21: TMenuItem;
adsListsFNo: TIntegerField;
adsListsFName: TStringField;
adsListsFParent: TIntegerField;
Panel3: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormActivate(Sender: TObject);
procedure dbgMasterBackgroundDrawEvent(Sender: TObject;
ACanvas: TCanvas; ARect: TRect);
procedure sbSearchClick(Sender: TObject);
procedure tvReportsDblClick(Sender: TObject);
procedure tvListsGetImageIndex(Sender: TObject; Node: TTreeNode);
procedure tvListsDblClick(Sender: TObject);
procedure cbClassChange(Sender: TObject);
procedure dbgMasterDblClick(Sender: TObject);
procedure dxDBGrid1CustomDraw(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxDBTreeListColumn;
const AText: String; AFont: TFont; var AColor: TColor; ASelected,
AFocused: Boolean; var ADone: Boolean);
procedure mmiReadedClick(Sender: TObject);
procedure ActPassExecute(Sender: TObject);
procedure ActLonginExecute(Sender: TObject);
procedure ActExitExecute(Sender: TObject);
procedure ActContentsExecute(Sender: TObject);
procedure ActEmailExecute(Sender: TObject);
procedure ActHomePageExecute(Sender: TObject);
procedure ActAboutExecute(Sender: TObject);
procedure ActRegExecute(Sender: TObject);
procedure ActUpgradeExecute(Sender: TObject);
procedure ActOpenExecute(Sender: TObject);
procedure ActInsertExecute(Sender: TObject);
procedure ActUpdateExecute(Sender: TObject);
procedure ActDeleteExecute(Sender: TObject);
procedure ActRefreshExecute(Sender: TObject);
procedure ActLocateExecute(Sender: TObject);
procedure ActSearchExecute(Sender: TObject);
procedure ActPrintExecute(Sender: TObject);
procedure ActExportExecute(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure dxDBGrid1BackgroundDrawEvent(Sender: TObject;
ACanvas: TCanvas; ARect: TRect);
private
{ Private declarations }
public
ARecordCount:Integer;
AReportName:String;
procedure SetInterface; virtual;
procedure SearchEvent; virtual;
procedure InsertEvent; virtual;
procedure UpdateEvent; virtual;
procedure DeleteEvent; virtual;
procedure BrowseEvent; virtual;
procedure ReportGetValue(const ParName: String; var ParValue: Variant); virtual;
procedure SetModuleName; virtual;
procedure SetProgramRights; virtual;
procedure GetAllClass(ADataSet:TADODataSet;AcbClass:TComboBox); virtual;
{ Public declarations }
end;
var
HwWorkForm: THwWorkForm;
implementation
uses CommFun, SYSDATA, HwRegister, Welcome, Sys600_01, Sys700_01, ErpMain, HwExport;
{$R *.dfm}
procedure THwWorkForm.SetInterface;
begin
tlbFile.Caption:=GetDBString('WOK10001001'); //基本资料(&F)
tlbEdit.Caption:=GetDBString('WOK10001002'); //业务处理(&E)
tlbReport.Caption:=GetDBString('WOK10001003'); //查询报表(&R)
tlbHelp.Caption:=GetDBString('WOK10001004'); //帮助(&H)
ActPass.Caption:=GetDBString('WOK10001005'); //更改登录密码(&C)...
ActLongin.Caption:=GetDBString('WOK10001006'); //更换操作员(&U)...
ActExit.Caption:=GetDBString('WOK10001007'); //退出(&X)
ActContents.Caption:=GetDBString('WOK10001008'); //帮助主题(&H)
ActEmail.Caption:=GetDBString('WOK10001009'); //写信给作者(&E)...
ActHomePage.Caption:=GetDBString('WOK10001010'); //网上浩晖(&P)...
ActAbout.Caption:=GetDBString('WOK10001011'); //关于浩晖(&A)...
ActReg.Caption:=GetDBString('WOK10001012'); //软件注册(&R)...
ActUpgrade.Caption:=GetDBString('WOK10001013'); //在线智能升级(&U)...
pnLists.Caption:=GetDBString('WOK10001014'); //类别列表
pnReports.Caption:=GetDBString('WOK10001015'); //查询报表
TabSheet1.Caption:=GetDBString('WOK10001016'); //数据浏览
TabSheet2.Caption:=GetDBString('WOK10001017'); //预警信息
lblClass.Caption:=GetDBString('WOK10001018'); //类别
lblDate.Caption:=GetDBString('WOK10001019'); //日期
sbSearch.Caption:=GetDBString('WOK10001020'); //查询
ActInsert.Caption:=GetDBString('WOK10001021'); //新增(&A)
ActUpdate.Caption:=GetDBString('WOK10001022'); //修改(&E)
ActDelete.Caption:=GetDBString('WOK10001023'); //删除(&D)
ActRefresh.Caption:=GetDBString('WOK10001024'); //刷新(&R)
ActLocate.Caption:=GetDBString('WOK10001025'); //查找(&F)
ActSearch.Caption:=GetDBString('WOK10001026'); //查询(&S)
ActPrint.Caption:=GetDBString('WOK10001027'); //打印(&P)
ActExport.Caption:=GetDBString('WOK10001028'); //导出(&E)
ActOpen.Caption:=GetDBString('WOK10001029'); //查看(&N)
mmiReaded.Caption:=GetDBString('COM00006008'); //标识为“已阅读”
PageControl1.ActivePageIndex:=0;
ActReg.Visible:=ADemoFlag;
N1.Visible:=ADemoFlag;
end;
procedure THwWorkForm.FormCreate(Sender: TObject);
var
ADate:TDateTime;
begin
SetInterface;
ADate:=GetServerDate;
edtFromDate.Date:=GetMonthFirstDate(ADate);
edtToDate.Date:=GetMonthEndDate(ADate);
//查询报表
GetAllReport(adsReports,ActionList1,AModule);
//取得所有类别
adsLists.Close;
adsLists.CreateDataSet;
GetAllClass(adsLists,cbClass);
tvLists.Items.BeginUpdate;
tvLists.Items[0].Expand(True);
tvLists.Items.EndUpdate;
sbSearch.Click;
//设置程序权限
SetProgramRights;
end;
procedure THwWorkForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure THwWorkForm.FormActivate(Sender: TObject);
begin
Animate1.ResName:='HOWWELL';
Animate1.Play(1,100,0);
SetModuleName;
end;
procedure THwWorkForm.dbgMasterBackgroundDrawEvent(Sender: TObject;
ACanvas: TCanvas; ARect: TRect);
var
AText:string;
begin
ARect.Left:=0;
ARect.Top:=0;
ACanvas.Brush.Color:=dbgMaster.GroupPanelColor;
ACanvas.Font.Color:=dbgMaster.GroupPanelFontColor;
//您可以把列标题拖放到此处使记录按此列进行分组
if dbgMaster.GroupColumnCount=0 then AText:=' '+GetDBString('NOT10001012') else AText:='';
Windows.FillRect(ACanvas.Handle, ARect, 0);
DrawText(ACanvas.Handle, PChar(AText), Length(AText), ARect, DT_LEFT or DT_EXPANDTABS or DT_NOPREFIX or DT_SINGLELINE or DT_VCENTER);
end;
procedure THwWorkForm.sbSearchClick(Sender: TObject);
begin
//查询
if (edtFromDate.Text='') or (edtToDate.Text='') then
begin
ShowMsg('UMS10000319'); //起止日期不可为空
if edtFromDate.Text='' then edtFromDate.SetFocus else edtToDate.SetFocus;
Abort;
end;
if edtFromDate.Date>edtToDate.Date then
begin
ShowMsg('UMS10000320'); //结束日期不能小于起始日期
edtToDate.SetFocus;
Abort;
end;
try
Screen.Cursor:=crHourGlass;
dsMaster.DataSet.DisableControls;
SearchEvent;
ARecordCount:=GetDataSetCount(dsMaster.DataSet);
finally
dsMaster.DataSet.EnableControls;
Screen.Cursor:=crDefault;
end;
end;
procedure THwWorkForm.tvReportsDblClick(Sender: TObject);
begin
if adsReports.IsEmpty then Exit;
CreateFormInPackage('T'+adsReports.FieldByName('Code').Value+'_01Form',True);
end;
procedure THwWorkForm.tvListsGetImageIndex(Sender: TObject;
Node: TTreeNode);
begin
if Node.HasChildren then
begin
Node.ImageIndex:=0;
Node.SelectedIndex:=0;
end else
begin
Node.ImageIndex:=1;
Node.SelectedIndex:=1;
end;
end;
procedure THwWorkForm.tvListsDblClick(Sender: TObject);
begin
//类别选择
if tvLists.Items.Count=0 then Exit;
if tvLists.Selected=tvLists.Items.GetFirstNode then
begin
LockWindowUpdate(tvLists.Handle);
//取得所有类别
GetAllClass(adsLists,cbClass);
sbSearch.Click;
LockWindowUpdate(0);
end else
begin
tvLists.Items.BeginUpdate;
tvLists.Items[0].Expand(True);
tvLists.Items.EndUpdate;
cbClass.ItemIndex:=cbClass.Items.IndexOf(adsListsFName.Value);
cbClassChange(cbClass);
end;
end;
procedure THwWorkForm.cbClassChange(Sender: TObject);
begin
sbSearch.Click;
end;
procedure THwWorkForm.dbgMasterDblClick(Sender: TObject);
begin
//查看
ActOpen.Execute;
end;
procedure THwWorkForm.dxDBGrid1CustomDraw(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont;
var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean);
begin
if SYSDM.qrySys910.IsEmpty then Exit;
//1=新消息,2=旧消息
case SYSDM.qrySys910S910_006.Value of
1:AFont.Style:=[fsBold];
else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -