activeset.pas

来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 287 行

PAS
287
字号
unit activeset;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DBCtrls, ComCtrls, ToolWin, ExtCtrls, ImgList, Grids, DBGrids, DBTables,
  Db, ADODB, Menus, StdCtrls;

type
  TFormactiveset = class(TForm)
    Panel1: TPanel;
    Pagecontrol1: TPageControl;
    Tabaskkind: TTabSheet;
    Tabaskreason: TTabSheet;
    Tableavekind: TTabSheet;
    Tableavereason: TTabSheet;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    DBGrid3: TDBGrid;
    DBGrid4: TDBGrid;
    Panel3: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    TabSheet2: TTabSheet;
    DBGrid5: TDBGrid;
    ImageList1: TImageList;
    ToolBar1: TToolBar;
    tblcheck: TToolButton;
    ToolButton5: TToolButton;
    tblmany: TToolButton;
    tbnsort: TToolButton;
    tbnfind: TToolButton;
    ToolButton7: TToolButton;
    ToolButton4: TToolButton;
    DBNavigator1: TDBNavigator;
    TabSheet1: TTabSheet;
    DBGrid6: TDBGrid;
    Panel2: TPanel;
    procedure Pagecontrol1Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid2KeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid3KeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid4KeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid5KeyPress(Sender: TObject; var Key: Char);
    procedure Pagecontrol1Changing(Sender: TObject;
      var AllowChange: Boolean);
    procedure ToolButton4Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure DBGrid1TitleClick(Column: TColumn);
    procedure FormKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid2KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid3KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid4KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid5KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid6KeyPress(Sender: TObject; var Key: Char);
    procedure tbnfindClick(Sender: TObject);
    procedure DBNavigator1BeforeAction(Sender: TObject;
      Button: TNavigateBtn);
  private
    { Private declarations }
    f:string;
  public
    { Public declarations }
  end;

var
  Formactiveset: TFormactiveset;

implementation

uses main,datamol,publicfunction;

{$R *.DFM}

procedure TFormactiveset.Pagecontrol1Change(Sender: TObject);
begin
  (sender as Tpagecontrol).activepage.highlighted:=true;
   with datamod do
   begin
     case pagecontrol1.ActivePageIndex of
       0: dbnavigator1.datasource:=dsaskreason;
       1: dbnavigator1.datasource:=dsaskkind;
       2: dbnavigator1.datasource:=dsleavekind;
       3: dbnavigator1.datasource:=dsleavereason0;
       4: dbnavigator1.datasource:=dsleavereason1;
       5: dbnavigator1.datasource:=dsjcreason;
     end;
   end;
end;

procedure TFormactiveset.FormCreate(Sender: TObject);
begin
   with datamod do
   begin
      adoaskkind.open;
      adoaskreason.open;
      adoleavekind.open;
      adoleavereason0.open;
      adoleavereason1.open;
      adootkind.open;
      adojcreason.open;
      pagecontrol1.ActivePageIndex:=0;
      pagecontrol1.onchange(pagecontrol1);
   end;
end;

procedure TFormactiveset.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
   with datamod do
   begin
      adoaskkind.close;
      adoaskreason.close;
      adoleavekind.close;
      adoleavereason0.close;
      adoleavereason1.close;
      adojcreason.open;
   end;
  setdbgridwidth(dbgrid1,'p'+'activeset'); //在注册表中存入栏位宽度,以便它下次重新读取
  formactiveset:=nil;
  action:=cafree;
end;

procedure TFormactiveset.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
   dbgrid_keypress(sender,key);
end;

procedure TFormactiveset.DBGrid2KeyPress(Sender: TObject; var Key: Char);
begin
      dbgrid_keypress(sender,key);
end;

procedure TFormactiveset.DBGrid3KeyPress(Sender: TObject; var Key: Char);
begin
      dbgrid_keypress(sender,key);
end;

procedure TFormactiveset.DBGrid4KeyPress(Sender: TObject; var Key: Char);
begin
      dbgrid_keypress(sender,key);
end;

procedure TFormactiveset.DBGrid5KeyPress(Sender: TObject; var Key: Char);
begin
      dbgrid_keypress(sender,key);
end;

procedure TFormactiveset.Pagecontrol1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  (sender as Tpagecontrol).activepage.highlighted:=false;
end;

procedure TFormactiveset.ToolButton4Click(Sender: TObject);
begin
  close;
end;

procedure TFormactiveset.FormActivate(Sender: TObject);
begin
  getdbgridwidth(dbgrid1,'p'+'activeset'); //在注册表中存入栏位宽度,以便它下次重新读取
end;

procedure TFormactiveset.DBGrid1TitleClick(Column: TColumn);
begin   if f='DESC' then
     f:='ASC'
   else
     f:='DESC';
   case pagecontrol1.ActivePageIndex of
     1: datamod.ADOaskkind.Sort :=column.FieldName+' '+f;
     0: datamod.adoaskreason.sort:=column.FieldName+' '+f;
     2: datamod.adoleavekind.sort:=column.FieldName+' '+f;
     3: datamod.adoleavereason0.sort:=column.FieldName+' '+f;
     4: datamod.adoleavereason1.sort:=column.FieldName+' '+f;
     5: datamod.adojcreason.sort:=column.fieldname+' '+f;
   end;
end;

procedure TFormactiveset.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_CONTENTS0078');
    end;
end;

procedure TFormactiveset.DBGrid1KeyUp(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_CONTENTS0052');
    end;
end;

procedure TFormactiveset.DBGrid2KeyUp(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_CONTENTS0078');
    end;
end;

procedure TFormactiveset.DBGrid3KeyUp(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_CONTENTS0078');
    end;
end;

procedure TFormactiveset.DBGrid4KeyUp(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_CONTENTS0052');
    end;
end;

procedure TFormactiveset.DBGrid5KeyUp(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_CONTENTS0078');
    end;
end;

procedure TFormactiveset.DBGrid6KeyPress(Sender: TObject; var Key: Char);
begin
  dbgrid_keypress(sender,key);
end;

procedure TFormactiveset.tbnfindClick(Sender: TObject);
begin
with datamod do
begin
  case pagecontrol1.ActivePageIndex of
  1:findrecorder(adoaskkind,'Adoaskkind','ado04010');
  0:findrecorder(adoaskreason,'Adoaskreason','atd05010');
  2:findrecorder(adoleavekind,'Adoleavekind','per14010');
  3:findrecorder(adoleavereason0,'Adoleavereason0','per13010');
  4:findrecorder(adoleavereason1,'Adoleavereason1','per13010');
  5:findrecorder(adojcreason,'Adojcreason','per29010');
  end;
end;
end;

procedure TFormactiveset.DBNavigator1BeforeAction(Sender: TObject;
  Button: TNavigateBtn);
begin
   with datamod do
   begin
     case pagecontrol1.ActivePageIndex of
       1: dbnavigator1.datasource:=dsaskkind;
       0: dbnavigator1.datasource:=dsaskreason;
       2: dbnavigator1.datasource:=dsleavekind;
       3: dbnavigator1.datasource:=dsleavereason0;
       4: dbnavigator1.datasource:=dsleavereason1;
       5: dbnavigator1.datasource:=dsjcreason;
     end;
     end;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?