📄 ufrmmain.~pas
字号:
unit uFrmMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls, dxExEdtr, dxCntner, dxTL,
dxDBCtrl, dxDBGrid, Buttons, ImgList, CheckLst, Mask, DBCtrls, DB, ADODB,
DBClient, Provider;
type
TFrmMain = class(TForm)
StatusBar1: TStatusBar;
Panel1: TPanel;
Bevel1: TBevel;
Panel2: TPanel;
Bevel2: TBevel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
TrvMenu: TTreeView;
IMGTree: TImageList;
Panel6: TPanel;
TrvBM: TTreeView;
SpeedButton5: TSpeedButton;
TrvHY: TTreeView;
Panel7: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
EdtKHMC: TEdit;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
SpbtnRefresh: TSpeedButton;
SpbtnExport: TSpeedButton;
dxDBGrid1: TdxDBGrid;
dxDBGridColumn1: TdxDBGridColumn;
dxDBGridColumn2: TdxDBGridColumn;
ADOTable1: TADOTable;
DataSource1: TDataSource;
SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton;
SpeedButton13: TSpeedButton;
PnlRenA: TPanel;
dxDBGrid1Column4: TdxDBGridColumn;
dxDBGrid1Column5: TdxDBGridColumn;
dxDBGrid1Column6: TdxDBGridColumn;
AdoQ_HYCX: TADOQuery;
DataSource2: TDataSource;
Panel11: TPanel;
SpeedButton4: TSpeedButton;
SpeedButton14: TSpeedButton;
SpeedButton15: TSpeedButton;
SpeedButton16: TSpeedButton;
Panel12: TPanel;
SpeedButton6: TSpeedButton;
Edit1: TEdit;
SpeedButton17: TSpeedButton;
TabSheet5: TTabSheet;
LBoxRen: TListBox;
LBoxRenA: TListBox;
PnlRen: TPanel;
QrvV_BM: TADOQuery;
Label9: TLabel;
Panel10: TPanel;
Label10: TLabel;
Edit2: TEdit;
Label11: TLabel;
Edit3: TEdit;
SpeedButton18: TSpeedButton;
ADOQ_HY: TADOQuery;
DataSource3: TDataSource;
dxDBGrid2: TdxDBGrid;
ADODBA: TADOQuery;
ADODBB: TADOQuery;
dxDBGrid1Column8: TdxDBGridColumn;
SpeedButton19: TSpeedButton;
ADOQ_HYRC: TADOQuery;
DataSource4: TDataSource;
Panel9: TPanel;
Panel14: TPanel;
TrvHYA: TTreeView;
Panel15: TPanel;
TrvHYAA: TTreeView;
SpeedButton9: TSpeedButton;
SpeedButton22: TSpeedButton;
SpeedButton10: TSpeedButton;
Bevel6: TBevel;
ListBox2: TListBox;
Panel18: TPanel;
TabSheet7: TTabSheet;
Panel21: TPanel;
Panel23: TPanel;
TrvHYB: TTreeView;
dxDBGrid3: TdxDBGrid;
dxDBGrid3Column1: TdxDBGridColumn;
dxDBGrid3Column2: TdxDBGridColumn;
dxDBGrid3Column3: TdxDBGridColumn;
dxDBGrid3Column4: TdxDBGridColumn;
dxDBGrid3Column5: TdxDBGridColumn;
dxDBGrid3Column6: TdxDBGridColumn;
dxDBGrid3Column7: TdxDBGridColumn;
Edit6: TEdit;
SpeedButton28: TSpeedButton;
Bevel3: TBevel;
Bevel4: TBevel;
SpeedButton29: TSpeedButton;
TrvE: TTreeView;
ADOQry_HYRen: TADOQuery;
DataSource5: TDataSource;
dxDBGrid3Column9: TdxDBGridColumn;
CDSA: TClientDataSet;
DSPA: TDataSetProvider;
dxDBGrid3Column10: TdxDBGridColumn;
dxDBGrid3Column11: TdxDBGridColumn;
SpeedButton7: TSpeedButton;
dxDBGrid3Column12: TdxDBGridColumn;
SpeedButton23: TSpeedButton;
dxDBGrid2Column1: TdxDBGridColumn;
dxDBGrid2Column2: TdxDBGridColumn;
dxDBGrid2Column3: TdxDBGridColumn;
dxDBGrid2Column4: TdxDBGridColumn;
dxDBGrid2Column5: TdxDBGridColumn;
dxDBGrid2Column6: TdxDBGridColumn;
dxDBGrid2Column7: TdxDBGridColumn;
dxDBGrid2Column8: TdxDBGridColumn;
dxDBGrid2Column9: TdxDBGridColumn;
ComboBox1: TComboBox;
CBoxHYLB: TCheckBox;
dxDBGrid1Column9: TdxDBGridColumn;
dxDBGrid1Column10: TdxDBGridColumn;
dxDBGrid1Column11: TdxDBGridColumn;
ComboBox2: TComboBox;
CBoxFenZua: TCheckBox;
dxDBGrid5: TdxDBGrid;
dxDBGrid5Column1: TdxDBGridColumn;
dxDBGrid5Column2: TdxDBGridColumn;
dxDBGrid5Column3: TdxDBGridColumn;
dxDBGrid5Column4: TdxDBGridColumn;
dxDBGrid5Column5: TdxDBGridColumn;
SpeedButton24: TSpeedButton;
SpeedButton25: TSpeedButton;
Bevel5: TBevel;
SpeedButton8: TSpeedButton;
dxDBGrid5Column6: TdxDBGridColumn;
DataSource6: TDataSource;
CDSB: TClientDataSet;
SpeedButton20: TSpeedButton;
SpeedButton21: TSpeedButton;
Label2: TLabel;
Edit4: TEdit;
procedure SpeedButton11Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SpbtnSaveClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton13Click(Sender: TObject);
procedure SpbtnExportClick(Sender: TObject);
procedure TrvBMChange(Sender: TObject; Node: TTreeNode);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton14Click(Sender: TObject);
procedure SpeedButton15Click(Sender: TObject);
procedure SpeedButton16Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure TrvMenuChange(Sender: TObject; Node: TTreeNode);
procedure SpeedButton17Click(Sender: TObject);
procedure SpeedButton18Click(Sender: TObject);
procedure SpeedButton19Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure TrvHYAChange(Sender: TObject; Node: TTreeNode);
procedure SpeedButton22Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure SpeedButton10Click(Sender: TObject);
procedure TrvHYBChange(Sender: TObject; Node: TTreeNode);
procedure SpeedButton7Click(Sender: TObject);
procedure TrvHYAAChange(Sender: TObject; Node: TTreeNode);
procedure SpeedButton23Click(Sender: TObject);
procedure TrvHYChange(Sender: TObject; Node: TTreeNode);
procedure SpeedButton8Click(Sender: TObject);
procedure SpbtnRefreshClick(Sender: TObject);
procedure CBoxHYLBClick(Sender: TObject);
procedure CBoxFenZuaClick(Sender: TObject);
procedure SpeedButton28Click(Sender: TObject);
procedure SpeedButton29Click(Sender: TObject);
procedure Edit6Enter(Sender: TObject);
procedure Edit6Click(Sender: TObject);
procedure SpeedButton24Click(Sender: TObject);
procedure SpeedButton25Click(Sender: TObject);
procedure SpeedButton20Click(Sender: TObject);
private
Procedure PInitData();
procedure PLoadTrvData;
Procedure PFillFenZu();
{ Private declarations }
public
sSYSSQL:String;
{ Public declarations }
end;
var
FrmMain: TFrmMain;
implementation
uses uDMOA, uDataOA, uFunSys, uFrmA01_HY, uFunKQ, uFrmHYRenE, uFrmTY;
{$R *.dfm}
procedure TFrmMain.SpeedButton11Click(Sender: TObject);
begin
ADOTable1.Cancel;
end;
procedure TFrmMain.FormCreate(Sender: TObject);
begin
Application.Title:='会议签到';
PInitData();
ADOTable1.Open;
end;
procedure TFrmMain.SpbtnSaveClick(Sender: TObject);
begin
end;
//Add
procedure TFrmMain.SpeedButton1Click(Sender: TObject);
var
FrmX:TFrmA01_HY;
begin
FrmX:=TFrmA01_HY.Create(Application);
FrmX.Visible:=False;
FrmX.BorderStyle:=bsDialog;
FrmX.Position:=poScreenCenter;
FrmX.Edit1.Text:='';
FrmX.DTPA.DateTime:=now;
FrmX.DTPB1.Time:=0;FrmX.DTPB2.Time:=0;
FrmX.iFlag:=0;
sSYSSQL:='';
FrmX.ShowModal;
if sSYSSQL = '' then Exit;
PInitData();
end;
procedure TFrmMain.PInitData;
var
Str:String;
begin
Str:='Select * from TAD02_HY order by sBM';
FCarryOutSQL(DMOA.ADOQry ,Str,True);
PCuiFengFillTreeD(TrvMenu,DMOA.ADOQry,'sBM','sMC');
PCuiFengFillTreeD(TrvHY,DMOA.ADOQry,'sBM','sMC');
PCuiFengFillTreeD(TrvHYA,DMOA.ADOQry,'sBM','sMC');
PCuiFengFillTreeD(TrvHYB,DMOA.ADOQry,'sBM','sMC');
PCuiFengFillTreeD(TrvE,DMOA.ADOQry,'sBM','sMC');
end;
procedure TFrmMain.SpeedButton2Click(Sender: TObject);
var
Str,S:String;
FrmX:TFrmA01_HY;
begin
if TrvMenu.Selected = nil then Exit;
if TrvMenu.Selected.AbsoluteIndex = 0 then Exit;
S:=MyCutString(True,TrvMenu.Selected.Text);
Str:='Select * from TAD02_HY Where sBM ='+''''+S+'''';
FCarryOutSQL(DMOA.ADOQry ,Str,True);
FrmX:=TFrmA01_HY.Create(Application);
FrmX.Visible:=False;
FrmX.BorderStyle:=bsDialog;
FrmX.Position:=poScreenCenter;
FrmX.iFlag:=1;
Str:=Trim(DMOA.ADOQry.FieldByName('sBM').AsString);
FrmX.Edit1.Text:=Str;
Str:=Trim(DMOA.ADOQry.FieldByName('sDateYMD').AsString);
if Str <> '' then FrmX.DTPA.Date:=StrToDate(Str);
Str:=Trim(DMOA.ADOQry.FieldByName('sDateHMSA').AsString);
if Str <> '' then FrmX.DTPB1.Time:=StrToTime(Str);
Str:=Trim(DMOA.ADOQry.FieldByName('sDateHMSB').AsString);
if Str <> '' then FrmX.DTPB2.Time:=StrToTime(Str);
FrmX.Edit1.Enabled:=False;
Str:=Trim(DMOA.ADOQry.FieldByName('sMC').AsString);
FrmX.Edit3.text:=str;
Str:=Trim(DMOA.ADOQry.FieldByName('sBZ').AsString);
FrmX.Edit2.text:=str;
FrmX.ShowModal;
PInitData();
end;
//加载考勤机
procedure TFrmMain.SpeedButton13Click(Sender: TObject);
var
Str:String;
begin
Str:='Select * from TAD02_HY order by sBM';
FCarryOutSQL(DMOA.ADOQry ,Str,True);
PCuiFengFillTreeD(TrvHY,DMOA.ADOQry,'sBM','sMC');
end;
{-------------------------------------------------------------------------------
* 记录格式为:000000 00:00 00000000 00 0
* 前六位为卡号,00:00为时间,再八位为时间如20010806,再二两位为机
* 器编号,最后一位为类型标识
* 类型标识:1为中途外入,2为中途外出,3为门禁读头读卡,0为正常读卡
-------------------------------------------------------------------------------}
{********** 下载考勤数据 ********}
{********** 硬件接口函数 ********}
{****************** 给考勤机设置时间********************}
procedure TFrmMain.SpbtnExportClick(Sender: TObject);
var
Str:String;
dlg:TSaveDialog;
begin
dlg:=TSaveDialog.Create(nil);
dlg.DefaultExt:='*.XLS';
dlg.Filter:='Execl文件|*.XLS';
if not dlg.Execute then Exit;
Str:=LowerCase(dlg.FileName);
Str:=MyCutOutStringB('.xls',Str)+'.xls';//扩展名重复问题
dxDBGrid1.SaveToXLS(Str,True);
end;
procedure TFrmMain.TrvBMChange(Sender: TObject; Node: TTreeNode);
var
Str,sBM:String;
begin
if TrvBM.Selected = nil then Exit;
Str:=TrvBM.Selected.Text;
sBM:=MyCutString(True,Str);
Str:='Select * from TBD01_RYXX Where sBMLH Like '+''''+sBM+'%'+''''
+' order by sBMLH';
FCarryOutSQL(DMOA.ADOQry,Str,True);
DMOA.ADOQry.First;LBoxRen.Items.Clear;
While not DMOA.ADOQry.Eof do begin
Str:=Trim(DMOA.ADOQry.FieldByName('sKH').AsString)
+' '+Trim(DMOA.ADOQry.FieldByName('sMC').AsString)
+' '
+Trim(DMOA.ADOQry.FieldByName('sFZID').AsString);
LBoxRen.Items.Add(Str);
DMOA.ADOQry.Next;
end;
PnlRen.Caption:='人数:'+IntToStr(DMOA.ADOQry.RecordCount);
end;
procedure TFrmMain.SpeedButton4Click(Sender: TObject);
var
I,J,n:integer;
Str,S,SA:String;
begin
I:=LBoxRen.ItemIndex;
if I < 0 then Exit;
Str:=LBoxRen.Items.Strings[I];
Str:=MyCutString(False,Str);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -