⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 holiday.pas

📁 pasa人力资源考勤管理系统
💻 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 + -