original.pas
来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 608 行 · 第 1/2 页
PAS
608 行
unit original;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, DBCtrls, ToolEdit, Mask, Buttons, ExtCtrls, Grids, DBGrids, Db,
ADODB, Menus, ImgList, ComCtrls, ToolWin, ppVar, ppCtrls, ppPrnabl,
ppClass, ppBands, ppCache, ppDB, ppProd, ppReport, ppComm, ppRelatv,
ppDBPipe, ppDBBDE;
type
TFormoriginal = class(TForm)
Panel2: TPanel;
Label12: TLabel;
Label8: TLabel;
DBGrid1: TDBGrid;
ImageList2: TImageList;
ToolBar2: TToolBar;
ToolButton6: TToolButton;
ToolButton8: TToolButton;
tbnsort: TToolButton;
tbnfind: TToolButton;
tbnprint: TToolButton;
ToolButton10: TToolButton;
DBNavigator1: TDBNavigator;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
MaskEdit1: TMaskEdit;
DateTimePicker1: TDateTimePicker;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
N3: TMenuItem;
DateTimePicker2: TDateTimePicker;
MaskEdit2: TMaskEdit;
Label3: TLabel;
ppReport1: TppReport;
ppHeaderBand2: TppHeaderBand;
ppLine2: TppLine;
ppLabel18: TppLabel;
ppLabel19: TppLabel;
ppLabel20: TppLabel;
ppLabel21: TppLabel;
ppLabel22: TppLabel;
ppLabel24: TppLabel;
ppLabel25: TppLabel;
ppLabel26: TppLabel;
ppSystemVariable1: TppSystemVariable;
ppLabel27: TppLabel;
ppSystemVariable2: TppSystemVariable;
ppLabel28: TppLabel;
ppDetailBand2: TppDetailBand;
ppDBText8: TppDBText;
ppDBText11: TppDBText;
ppDBText12: TppDBText;
ppDBText13: TppDBText;
ppFooterBand2: TppFooterBand;
ppBDEPipeline2: TppBDEPipeline;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
Panel1: TPanel;
Adodataset2: TADODataSet;
Adodataset2macname: TStringField;
Adodataset2cardno: TStringField;
Adodataset2workno: TStringField;
Adodataset2name: TStringField;
Adodataset2recdate: TStringField;
Adodataset2rectime: TStringField;
Adodataset2state: TStringField;
Adodataset2readok: TBooleanField;
Adodataset2recdatetime: TStringField;
ADODataSet1cardno: TStringField;
ADODataSet1name: TStringField;
ADODataSet1recdate: TDateTimeField;
ADODataSet1rectime: TStringField;
ToolButton1: TToolButton;
Panel3: TPanel;
Animate1: TAnimate;
DateTimePicker3: TDateTimePicker;
BitBtn1: TBitBtn;
Label4: TLabel;
DateTimePicker4: TDateTimePicker;
Label5: TLabel;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
ADOQuery1: TADOQuery;
Label6: TLabel;
ADODataSet1dept: TStringField;
ppLabel1: TppLabel;
ppDBText1: TppDBText;
ppGroup1: TppGroup;
ppGroupHeaderBand1: TppGroupHeaderBand;
ppGroupFooterBand1: TppGroupFooterBand;
Label7: TLabel;
ComboBox1: TComboBox;
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ToolButton10Click(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure tbnfindClick(Sender: TObject);
procedure tbnsortClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure Edit1Exit(Sender: TObject);
procedure DateTimePicker1CloseUp(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ppDBText6GetText(Sender: TObject; var Text: String);
procedure ppReport1BeforePrint(Sender: TObject);
procedure tbnprintClick(Sender: TObject);
procedure ppReport1AfterPrint(Sender: TObject);
procedure ppReport1PreviewFormCreate(Sender: TObject);
procedure DateTimePicker2CloseUp(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
private
{ Private declarations }
manyfield:boolean;
findex:array[1..5] of integer;
fsort:array[1..5] of string;
fcount:0..5;
f:string; //排序的字段
public
{ Public declarations }
end;
var
Formoriginal: TFormoriginal;
implementation
uses main,atddata,datamol,publicfunction, canfind;
{$R *.DFM}
procedure TFormoriginal.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
dbgrid_keypress(sender,key);
end;
procedure TFormoriginal.FormCreate(Sender: TObject);
begin
with datamod do
begin
Adoquery1.close;
Adoquery1.SQL.clear;
Adoquery1.sql.add('select distinct dept from per24010');
Adoquery1.Open;
combobox1.Items.Clear;
Combobox1.items.add('全部');
Combobox1.ItemIndex:=0;
while not Adoquery1.eof do
begin
Combobox1.items.add(Adoquery1.fieldbyname('dept').asstring); //显示部门
Adoquery1.Next;
end;
Adoquery1.close;
datetimepicker1.Date :=date;
datetimepicker2.Date :=date;
datetimepicker2.Date :=now;
datetimepicker2.Date :=now;
maskedit1.Text:=datetostr(date);
maskedit2.Text:=datetostr(date);
datamod.ADOpersonal.Open;
with datamod do
begin
adooriginal.close;
adooriginal.Filtered:=false;
//cardno,rq 是Formatddata中定义的用来查找某人的打卡记录
if (cardno<>'') and (rq<>0) then
begin
adooriginal.filter:=' cardno='''+cardno+''' and recdate='''+datetostr(rq)+''' ';
edit1.text:=cardno;
maskedit1.text:=datetostr(rq);
maskedit2.text:=maskedit1.text;
end else
adooriginal.filter:='recdate='''+maskedit1.Text+'''';
adooriginal.Filtered:=true;
adooriginal.open;
end;
end;
end;
procedure TFormoriginal.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
//cardno,rq 是Formatddata中定义的用来查找某人的打卡记录
cardno:='';
rq:=0;
end;
procedure TFormoriginal.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
datamod.adooriginal.close;
datamod.ADOpersonal.Close;
formoriginal:=nil;
action:=cafree;
end;
procedure TFormoriginal.ToolButton10Click(Sender: TObject);
begin
close;
end;
procedure TFormoriginal.DBGrid1TitleClick(Column: TColumn);
begin
if F='DESC' THEN
F:='ASC'
ELSE
F:='DESC';
datamod.ADOoriginal.Sort :=column.FieldName+' '+f;
end;
procedure TFormoriginal.tbnfindClick(Sender: TObject);
begin
if assigned(formcanfind) then formcanfind.close;
if toolbutton8.Down then
findrecorder(Adodataset2,'Adodataset2','atd15010bk')
else
findrecorder(Adodataset2,'Adodataset2','atd15010');
end;
procedure TFormoriginal.tbnsortClick(Sender: TObject);
var i:1..5;
begin
if manyfield then
begin
manyfield:=false;
tbnsort.hint:='设定多字段排序';
popupmenu1.Items[0].Enabled :=false;
popupmenu1.Items[1].Enabled :=false;
popupmenu1.Items[2].Enabled :=false;
popupmenu1.Items[3].Enabled :=false;
end
else begin
manyfield:=true;
tbnsort.hint:='取消多字段排序'; //说明现在dbgrid1正处于多字段排序中
f:='';
popupmenu1.Items[0].Enabled :=true;
popupmenu1.Items[1].Enabled :=true;
popupmenu1.Items[2].Enabled :=true;
popupmenu1.Items[3].Enabled :=true;
fcount:=0;
for i:=1 to 5 do
begin
findex[i]:=0;
fsort[i]:='';
end;
end;
end;
procedure TFormoriginal.N1Click(Sender: TObject);
var i:integer;
begin
for i:=1 to fcount do
if dbgrid1.SelectedIndex =findex[i] then
begin
fsort[i]:='ASC';
exit;
end;
if fcount<5 then
begin
fcount:=fcount+1;
findex[fcount]:=dbgrid1.selectedindex;
fsort[fcount]:='ASC';
dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;
end;
end;
procedure TFormoriginal.N2Click(Sender: TObject);
var i:integer;
begin
for i:=1 to fcount do
if dbgrid1.SelectedIndex =findex[i] then
begin
fsort[i]:='DESC';
exit;
end;
if fcount<5 then
begin
fcount:=fcount+1;
findex[fcount]:=dbgrid1.selectedindex;
fsort[fcount]:='DESC';
dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;
end;
end;
procedure TFormoriginal.N4Click(Sender: TObject);
var i:1..5;
sortexp:string;
begin
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?