📄 holiday.pas
字号:
unit holiday;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ImgList, ExtCtrls, DBCtrls, ComCtrls, ToolWin, Grids, DBGrids, DBActns,
ActnList, Menus;
type
TFormholiday = class(TForm)
DBGrid1: TDBGrid;
ImageList1: TImageList;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
N3: TMenuItem;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
tbnsort: TToolButton;
tbnfind: TToolButton;
ToolButton7: TToolButton;
ToolButton4: TToolButton;
DBNavigator1: TDBNavigator;
procedure TBEXITClick(Sender: TObject);
procedure FindItemExecute(Sender: TObject);
procedure SortClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure FormActivate(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure tbnfindClick(Sender: TObject);
private
{ Private declarations }
findex:array[1..5] of integer;
fsort:array[1..5] of string;
fcount:0..5;
f:string;
public
{ Public declarations }
end;
var
Formholiday: TFormholiday;
implementation
uses Find, SortField,main,datamol,publicfunction;
{$R *.DFM}
procedure TFormholiday.TBEXITClick(Sender: TObject);
begin
close;
end;
procedure TFormholiday.FindItemExecute(Sender: TObject);
begin
FormFind:=TFormFind.Create(Application);
Data:=DBGrid1.Datasource.Dataset;
FormFind.Showmodal;
Formfind.free;
end;
procedure TFormholiday.SortClick(Sender: TObject);
begin
formsortfield:=TFormsortfield.create(application);
SortGrid:=DBGrid1;
formsortfield.showmodal;
formsortfield.free;
end;
procedure TFormholiday.FormCreate(Sender: TObject);
begin
datamod.adoholiday.open;
end;
procedure TFormholiday.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
formholiday:=nil;
action:=cafree;
end;
procedure TFormholiday.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
datamod.adoholiday.close;
end;
procedure TFormholiday.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
dbgrid_keypress(sender,key);
end;
procedure TFormholiday.FormActivate(Sender: TObject);
begin
with datamod do
begin
adootkind.open;
adootkind.first;
dbgrid1.columns[2].picklist.clear;
while not adootkind.eof do
begin
dbgrid1.columns[2].picklist.add(adootkindotkind.asstring);
adootkind.next;
end;
adootkind.close;
end;
end;
procedure TFormholiday.DBGrid1TitleClick(Column: TColumn);
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
datamod.adoholiday.sort:=column.FieldName+' '+f;
end;
procedure TFormholiday.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 TFormholiday.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 TFormholiday.N4Click(Sender: TObject);
var i:1..5;
begin
datamod.ADOholiday.Sort:='';
for i:=1 to fcount do
begin
if dbgrid1.Columns[findex[i]].Color=clgray then
begin
datamod.ADOholiday.Sort :=datamod.ADOholiday.Sort+dbgrid1.Columns[findex[i]].FieldName+' '+fsort[i];
if i<fcount then datamod.ADOholiday.Sort:=datamod.ADOholiday.Sort+',';
end;
end;
end;
procedure TFormholiday.N3Click(Sender: TObject);
var i:1..5;
begin
for i:=1 to fcount do
dbgrid1.Columns[findex[i]].Color :=clwindow;
fcount:=0;
end;
procedure TFormholiday.ToolButton4Click(Sender: TObject);
begin
close;
end;
procedure TFormholiday.tbnfindClick(Sender: TObject);
begin
findrecorder(datamod.adoholiday,'Adoholiday','atd06010'); //调用publicfuction中的查询功能
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -