📄 atdchange.pas
字号:
unit atdchange;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, ImgList, DBCtrls, ComCtrls, ToolWin, ExtCtrls, StdCtrls,
Buttons, Menus, Db, ADODB, Mask, ppCtrls, ppPrnabl, ppClass, ppBands,
ppCache, ppDB, ppProd, ppReport, ppComm, ppRelatv, ppDBPipe, ppDBBDE,
ppVar, myChkBox;
type
TFormatdchange = class(TForm)
ToolBar2: TToolBar;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
tbnsort: TToolButton;
tbnfind: TToolButton;
tbnprint: TToolButton;
ToolButton10: TToolButton;
DBNavigator1: TDBNavigator;
ImageList1: TImageList;
DBGrid1: TDBGrid;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit1: TEdit;
Edit2: TEdit;
MaskEdit1: TMaskEdit;
DateTimePicker1: TDateTimePicker;
MaskEdit2: TMaskEdit;
DateTimePicker2: TDateTimePicker;
Edit3: TEdit;
ADOatdtemp1: TADODataSet;
Dsatdtemp1: TDataSource;
ADOatdtemp1workno: TStringField;
ADOatdtemp1cardno: TStringField;
ADOatdtemp1rq: TDateTimeField;
ADOatdtemp1scheno: TStringField;
ADOatdtemp1dothing: TStringField;
ADOatdtemp1itemtime: TIntegerField;
ADOatdtemp1mustgo: TStringField;
ADOatdtemp1factgo: TDateTimeField;
ADOatdtemp1mustout: TStringField;
ADOatdtemp1factout: TDateTimeField;
ADOatdtemp1musthours: TBCDField;
ADOatdtemp1addtime: TBooleanField;
ADOatdtemp1continuetime: TBooleanField;
ADOatdtemp1decrease: TBCDField;
ADOatdtemp1ot: TBooleanField;
ADOatdtemp1otkind: TStringField;
ADOatdtemp1users: TStringField;
ADOatdtemp1newsche: TStringField;
ADOatdtemp1newmustgo: TStringField;
ADOatdtemp1newfactgo: TDateTimeField;
ADOatdtemp1newmustout: TStringField;
ADOatdtemp1newfactout: TDateTimeField;
ADOatdtemp1name: TStringField;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
N3: TMenuItem;
ppBDEPipeline1: TppBDEPipeline;
ppReport1: TppReport;
ppHeaderBand1: TppHeaderBand;
ppDetailBand1: TppDetailBand;
ppFooterBand1: TppFooterBand;
ppTitleBand1: TppTitleBand;
ppDBText1: TppDBText;
ppLabel2: TppLabel;
ppDBText2: TppDBText;
ppLabel3: TppLabel;
ppDBText3: TppDBText;
ppLabel4: TppLabel;
ppDBText4: TppDBText;
ppLabel5: TppLabel;
ppDBText6: TppDBText;
ppLabel7: TppLabel;
ppDBText8: TppDBText;
ppLabel9: TppLabel;
ppDBText10: TppDBText;
ppLabel11: TppLabel;
ppDBText12: TppDBText;
ppLabel13: TppLabel;
ppDBText14: TppDBText;
ppLabel15: TppLabel;
ppDBText16: TppDBText;
ppLabel17: TppLabel;
ppDBText17: TppDBText;
ppLabel18: TppLabel;
ppLabel19: TppLabel;
ppLabel1: TppLabel;
ppLabel25: TppLabel;
ppLabel26: TppLabel;
ppLabel27: TppLabel;
ppLabel28: TppLabel;
ppLabel29: TppLabel;
ppLabel30: TppLabel;
ppSystemVariable1: TppSystemVariable;
ppLabel31: TppLabel;
ppSystemVariable2: TppSystemVariable;
ppShape1: TppShape;
ppShape2: TppShape;
myDBCheckBox1: TmyDBCheckBox;
ADOatdtemp1qianka: TStringField;
ADOatdtemp1qianka2: TStringField;
ADOatdtemp1qianka3: TStringField;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ToolButton10Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure tbnfindClick(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure DateTimePicker2CloseUp(Sender: TObject);
procedure DateTimePicker1CloseUp(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure Edit3Exit(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure MaskEdit2Exit(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure tbnsortClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure formkeyup(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ppReport1AfterPrint(Sender: TObject);
procedure ppReport1BeforePrint(Sender: TObject);
procedure ppReport1PreviewFormCreate(Sender: TObject);
procedure tbnprintClick(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure MaskEdit1KeyPress(Sender: TObject; var Key: Char);
procedure MaskEdit2KeyPress(Sender: TObject; var Key: Char);
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
Formatdchange: TFormatdchange;
adoqry:string;
implementation
uses main,datamol,atddata,publicfunction;
{$R *.DFM}
procedure TFormatdchange.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
adoatdtemp1.close;
action:=cafree;
formatdchange:=nil;
end;
procedure TFormatdchange.ToolButton10Click(Sender: TObject);
begin
close;
end;
procedure TFormatdchange.FormCreate(Sender: TObject);
begin
datetimepicker1.Date:=date;
datetimepicker2.Date:=date;
maskedit1.Text:=datetostr(date);
maskedit2.Text:=datetostr(date);
getdata2;
adoatdtemp1.open;
adoatdtemp1.filtered:=false;
adoatdtemp1.filter :='rq<='''+maskedit2.text+''' and rq>='''+maskedit1.text+''' ';
adoatdtemp1.filtered:=true;
end;
procedure TFormatdchange.tbnfindClick(Sender: TObject);
begin
findrecorder(Adoatdtemp1,'Adoatdtemp1','vtempatd1');
end;
procedure TFormatdchange.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
selectnext(activecontrol,true,true);
end;
end;
procedure TFormatdchange.DateTimePicker2CloseUp(Sender: TObject);
begin
maskedit2.Text :=datetostr(datetimepicker2.date);
end;
procedure TFormatdchange.DateTimePicker1CloseUp(Sender: TObject);
begin
maskedit1.Text :=datetostr(datetimepicker1.date);
end;
procedure TFormatdchange.ToolButton7Click(Sender: TObject);
var fmat1:string;
begin
if fmat='/' then
fmat1:=' / / ';
if fmat='-' then
fmat1:=' - - ';
adoatdtemp1.filtered:=false;
adoatdtemp1.filter:='';
adoatdtemp1.filtered:=true;
maskedit1.Text:=fmat1;
maskedit2.Text:=fmat1;
end;
procedure TFormatdchange.ToolButton8Click(Sender: TObject);
begin
if toolbutton8.down then
begin
adoatdtemp1.close;
adoatdtemp1.commandtext:='Select distinct * from vatdtransbk';
adoatdtemp1.Open;
end else
begin
adoatdtemp1.close;
adoatdtemp1.commandtext:='Select distinct * from vtempatd1';
adoatdtemp1.Open;
end;
end;
procedure TFormatdchange.Edit3Exit(Sender: TObject);
begin
if trim(edit3.text)<>'' then
begin
adoatdtemp1.filtered:=false;
adoatdtemp1.filter :='name='''+edit3.text+'''';
adoatdtemp1.filtered:=true;
end;
end;
procedure TFormatdchange.Edit2Exit(Sender: TObject);
begin
if trim(edit2.text)<>'' then
begin
adoatdtemp1.filtered:=false;
adoatdtemp1.filter :='cardno='''+edit2.text+'''';
adoatdtemp1.filtered:=true;
end;
end;
procedure TFormatdchange.Edit1Exit(Sender: TObject);
begin
if trim(edit1.text)<>'' then
begin
adoatdtemp1.filtered:=false;
adoatdtemp1.filter :='workno='''+edit1.text+'''';
adoatdtemp1.filtered:=true;
end;
end;
procedure TFormatdchange.MaskEdit2Exit(Sender: TObject);
var fmat1:string;
begin
if fmat='/' then
fmat1:=' / / ';
if fmat='-' then
fmat1:=' - - ';
if maskedit2.text<>fmat1 then
begin
if isdate(maskedit1.text) and isdate(maskedit2.text) then
begin
adoatdtemp1.filtered:=false;
adoatdtemp1.filter :='rq<='''+maskedit2.text+''' and rq>='''+maskedit1.text+''' ';
adoatdtemp1.filtered:=true;
end;
end;
end;
procedure TFormatdchange.DBGrid1TitleClick(Column: TColumn);
begin
if f='DESC' THEN
F:='ASC'
ELSE
F:='DESC';
Adoatdtemp1.Sort :=column.FieldName +' '+f;
end;
procedure TFormatdchange.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 TFormatdchange.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 TFormatdchange.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 TFormatdchange.N4Click(Sender: TObject);
var i:1..5;
begin
Adoatdtemp1.Sort:='';
for i:=1 to fcount do
begin
if dbgrid1.Columns[findex[i]].Color=clgray then
begin
Adoatdtemp1.Sort :=Adoatdtemp1.Sort+dbgrid1.Columns[findex[i]].FieldName+' '+fsort[i];
if i<fcount then Adoatdtemp1.Sort:=Adoatdtemp1.Sort+',';
end;
end;
end;
procedure TFormatdchange.N3Click(Sender: TObject);
var i:1..5;
begin
for i:=1 to fcount do
dbgrid1.Columns[findex[i]].Color :=clwindow;
fcount:=0;
end;
procedure TFormatdchange.formkeyup(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_f1 then
begin
Application.helpfile :=extractfilepath(application.exename) +'help\pasahelp.hlp';
application.HelpJump('shm_contents0028');
end;
end;
procedure TFormatdchange.ppReport1AfterPrint(Sender: TObject);
begin
ADOatdtemp1.Close;
end;
procedure TFormatdchange.ppReport1BeforePrint(Sender: TObject);
var fmat1:string;
begin
if fmat='/' then
fmat1:=' / / ';
if fmat='-' then
fmat1:=' - - ';
pplabel1.Caption:=companyname1;
if (maskedit1.Text<>fmat1) and (maskedit2.Text<>fmat1) then
pplabel26.Caption:=maskedit1.Text+'~~'+maskedit2.Text
else
pplabel26.Caption:='';
pplabel29.Caption:=pubworkname;
end;
procedure TFormatdchange.ppReport1PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
procedure TFormatdchange.tbnprintClick(Sender: TObject);
begin
ppreport1.Print;
end;
procedure TFormatdchange.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
selectnext(activecontrol,true,true);
end;
end;
procedure TFormatdchange.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
selectnext(activecontrol,true,true);
end;
end;
procedure TFormatdchange.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
selectnext(activecontrol,true,true);
end;
end;
procedure TFormatdchange.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
selectnext(activecontrol,true,true);
end;
end;
procedure TFormatdchange.MaskEdit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
selectnext(activecontrol,true,true);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -