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

📄 otkind.pas

📁 pasa人力资源考勤管理系统
💻 PAS
字号:
unit otkind;

interface

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

type
  Tformotkind = class(TForm)
    ImageList2: TImageList;
    ToolBar2: TToolBar;
    ToolButton8: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    tbnsort: TToolButton;
    tbnfind: TToolButton;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    DBNavigator1: TDBNavigator;
    DBGrid1: TDBGrid;
    Panel1: TPanel;
    Splitter1: TSplitter;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    Label3: TLabel;
    DBEdit3: TDBEdit;
    Label4: TLabel;
    DBEdit4: TDBEdit;
    Label5: TLabel;
    DBEdit5: TDBEdit;
    Label6: TLabel;
    DBEdit6: TDBEdit;
    DBCheckBox1: TDBCheckBox;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBCheckBox2: TDBCheckBox;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    DBCheckBox3: TDBCheckBox;
    DBEdit13: TDBEdit;
    DBEdit14: TDBEdit;
    DBEdit15: TDBEdit;
    DBCheckBox4: TDBCheckBox;
    DBEdit16: TDBEdit;
    DBEdit17: TDBEdit;
    DBEdit18: TDBEdit;
    DBCheckBox5: TDBCheckBox;
    DBEdit19: TDBEdit;
    Label19: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N4: TMenuItem;
    N3: TMenuItem;
    DBText1: TDBText;
    DBText2: TDBText;
    Label20: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure tbnfindClick(Sender: TObject);
    procedure DBGrid1TitleClick(Column: TColumn);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure DBNavigator1BeforeAction(Sender: TObject;
      Button: TNavigateBtn);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure tbnsortClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure FormKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  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 }
    procedure formchangelan;
  end;

var
  formotkind: Tformotkind;

implementation

uses datamol,publicfunction,cvcode,main, canfind;
{$R *.DFM}

procedure Tformotkind.FormCreate(Sender: TObject);
begin
  datamod.adootkind.open;
  formchangelan;
end;

procedure Tformotkind.ToolButton10Click(Sender: TObject);
begin
  close;
end;

procedure Tformotkind.tbnfindClick(Sender: TObject);
begin
//  if assigned(formcanfind) then  formcanfind.close;
//  findrecorder(datamod.adootkind,'adootkind','atd02010');
end;

procedure Tformotkind.DBGrid1TitleClick(Column: TColumn);
begin
   if f='DESC' then
     f:='ASC'
   else
     f:='DESC';
   datamod.ADOotkind.Sort :=column.FieldName+' '+f;
end;

procedure Tformotkind.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if activecontrol=dbgrid1 then
    exit;
  if key=#13 then
    begin
      key:=#0;
      selectnext(activecontrol,true,true);
    end;
end;

procedure Tformotkind.DBNavigator1BeforeAction(Sender: TObject;
  Button: TNavigateBtn);
var  i:integer;
     dbx:Tdbcheckbox;
begin
   case button of
     nbinsert,
     nbedit :begin
               for i:=1 to 5 do
               begin
                 dbx:=Tdbcheckbox(findcomponent('DBcheckBox'+inttostr(i)));
                 with dbx do
                   begin
                     dbx.checked:=false;
                   end;
               end;
               dbedit1.SetFocus;    
             end;
    end;         
end;

procedure Tformotkind.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  datamod.adootkind.close;
end;

procedure Tformotkind.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 Tformotkind.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 Tformotkind.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 Tformotkind.N4Click(Sender: TObject);
var i:1..5;
begin
  datamod.ADOotkind.Sort:='';
  for i:=1 to fcount do
  begin
   if dbgrid1.Columns[findex[i]].Color=clgray then
    begin
     datamod.ADOotkind.Sort :=datamod.ADOotkind.Sort+dbgrid1.Columns[findex[i]].FieldName+' '+fsort[i];
     if i<fcount then datamod.ADOotkind.Sort:=datamod.ADOotkind.Sort+',';
    end;
  end;
end;

procedure Tformotkind.N3Click(Sender: TObject);
var i:1..5;
begin
  for i:=1 to fcount do
    dbgrid1.Columns[findex[i]].Color :=clwindow;
  fcount:=0;
end;

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

procedure Tformotkind.formchangelan;
var i,j:integer;
begin
  if language='Chinese_GB' then
  begin
       Caption:=BIG5toGB(Caption);
       Font.Charset:=GB2312_CHARSET;
       for i:=0 to ComponentCount-1 do
       begin
          if components[i].ClassType=TToolBar then
          begin
             TToolBar(components[i]).Font.Charset:=GB2312_CHARSET;
             for j:=0 to TToolBar(components[i]).ButtonCount-1 do
             begin
                TToolBar(components[i]).Buttons[j].Caption:=BIG5toGB(TToolBar(components[i]).Buttons[j].Caption);
                TToolBar(components[i]).Buttons[j].Hint:=BIG5toGB(TToolBar(components[i]).Buttons[j].Hint);
             end;
          end;
          if components[i].ClassType=TTabSheet then
          begin
             TTabSheet(components[i]).Font.Charset:=GB2312_CHARSET;
             TTabSheet(components[i]).Caption:=BIG5toGB(TTabSheet(components[i]).Caption);
             TTabSheet(components[i]).Hint:=BIG5toGB(TTabSheet(components[i]).Hint);
          end;
          if components[i].ClassType=TButton then
          begin
             TButton(components[i]).Font.Charset:=GB2312_CHARSET;
             TButton(Components[i]).Caption:=BIG5toGB(TButton(Components[i]).Caption);
             TButton(Components[i]).Hint:=BIG5toGB(TButton(Components[i]).Hint);
          end;
          if components[i].ClassType=TRadioButton then
          begin
             TRadioButton(components[i]).Font.Charset:=GB2312_CHARSET;
             TRadioButton(components[i]).Caption:=BIG5toGB(TRadioButton(Components[i]).Caption);
             TRadioButton(components[i]).Hint:=BIG5toGB(TRadioButton(Components[i]).Hint);
          end;
          if components[i].ClassType=TLabel then
          begin
             TLabel(components[i]).Font.Charset:=GB2312_CHARSET;
             TLabel(components[i]).Caption:=BIG5toGB(TLabel(Components[i]).Caption);
             TLabel(components[i]).Hint:=BIG5toGB(TLabel(Components[i]).Hint);
          end;
          if components[i].ClassType=TStaticText then
          begin
             TStaticText(components[i]).Font.Charset:=GB2312_CHARSET;
             TStaticText(Components[i]).Caption:=BIG5toGB(TStaticText(components[i]).Caption);
             TStaticText(Components[i]).Hint:=BIG5toGB(TStaticText(components[i]).Hint);
          end;
          if components[i].ClassType=TGroupBox then
          begin
             TGroupBox(components[i]).Font.Charset:=GB2312_CHARSET;
             TGroupBox(components[i]).Caption:=BIG5toGB(TGroupBox(Components[i]).Caption);
             TGroupBox(components[i]).Hint:=BIG5toGB(TGroupBox(Components[i]).Hint);
          end;
          if components[i].ClassType=TRadioGroup then
          begin
             TRadioGroup(components[i]).Font.Charset:=GB2312_CHARSET;
             TRadioGroup(components[i]).Caption:=BIG5toGB(TRadioGroup(components[i]).Caption);
             TRadioGroup(components[i]).Hint:=BIG5toGB(TRadioGroup(components[i]).Hint);
             for j:=0 to TRadioGroup(components[i]).Items.Count-1 do
                TRadioGroup(components[i]).Items.Strings[j]:=BIG5toGB(TRadioGroup(components[i]).Items.Strings[j]);
          end;
          if components[i].ClassType=TCheckBox then
          begin
             TCheckBox(components[i]).Font.Charset:=GB2312_CHARSET;
             TCheckBox(components[i]).Caption:=BIG5toGB(TCheckBox(Components[i]).Caption);
             TCheckBox(components[i]).Hint:=BIG5toGB(TCheckBox(Components[i]).Hint);
          end;
          if components[i].ClassType=TCombobox then
          begin
             TCombobox(components[i]).Font.Charset:=GB2312_CHARSET;
             TCombobox(components[i]).Hint:=BIG5toGB(TCombobox(components[i]).Hint);
             for j:=0 to TCombobox(components[i]).Items.Count-1 do
                 TCombobox(components[i]).Items.Strings[j]:=BIG5toGB(TCombobox(components[i]).Items.Strings[j]);
          end;
          if components[i].ClassType=TDBCombobox then
          begin
             TDBCombobox(components[i]).Font.Charset:=GB2312_CHARSET;
             TDBCombobox(components[i]).Hint:=BIG5toGB(TDBCombobox(components[i]).Hint);
             for j:=0 to TDBCombobox(components[i]).Items.Count-1 do
                 TDBCombobox(components[i]).Items.Strings[j]:=BIG5toGB(TDBCombobox(components[i]).Items.Strings[j]);
          end;
          if components[i].ClassType=TPanel then
          begin
             TPanel(components[i]).Font.Charset:=GB2312_CHARSET;
             TPanel(components[i]).Caption:=BIG5toGB(TPanel(components[i]).Caption);
             TPanel(components[i]).Hint:=BIG5toGB(TPanel(components[i]).Hint);
          end;
          if components[i].ClassType=TDBCheckBox then
          begin
             TDBCheckBox(components[i]).Font.Charset:=GB2312_CHARSET;
             TDBCheckBox(components[i]).Caption:=BIG5toGB(TDBCheckBox(Components[i]).Caption);
             TDBCheckBox(components[i]).Hint:=BIG5toGB(TDBCheckBox(Components[i]).Hint);
          end;
          if components[i].ClassType=TDBNavigator then
          begin
             for j:=0 to TDBNavigator(components[i]).Hints.Count-1 do
                TDBNavigator(components[i]).Hints[j]:=BIG5toGB(TDBNavigator(Components[i]).Hints[j]);
          end;
          if Components[i].ClassType=TDBGrid then
          begin
             TDBGrid(components[i]).Hint:=BIG5toGB(TDBGrid(components[i]).Hint);
             for j:=0 to TDBGrid(components[i]).Columns.Count-1 do
                TDBGrid(components[i]).Columns[j].Title.Caption:=BIG5toGB(TDBGrid(components[i]).Columns[j].Title.Caption);
          end;
       end; //for
  end;  //if
end;

procedure Tformotkind.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key=VK_F1 then
      begin
        //showmessage('ok!')
     //MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0);
      Application.HelpFile :=Extractfilepath(application.ExeName)+ 'help\pasahelp.hlp';
      application.HelpJump('SHM_CONTENTS0053');
    end;
end;

end.

⌨️ 快捷键说明

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