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

📄 borrow.pas

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

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Gauges, ImgList, Menus, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls,
  ComCtrls, ToolWin, Buttons, Mask, ppCtrls, ppPrnabl, ppClass, ppBands,
  ppCache, ppDB, ppProd, ppReport, ppComm, ppRelatv, ppDBPipe, ppDBBDE,
  ppVar;

type
  TFormborrow = class(TForm)
    Panel1: TPanel;
    Label2: TLabel;
    DBGrid1: TDBGrid;
    Label1: TLabel;
    Edit1: TEdit;
    ImageList2: TImageList;
    ToolBar2: TToolBar;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton6: TToolButton;
    tbnsort: TToolButton;
    tbnfind: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    DBNav: TDBNavigator;
    Panel2: TPanel;
    Splitter1: TSplitter;
    Label3: TLabel;
    DBEdit1: TDBEdit;
    Label4: TLabel;
    DBEdit2: TDBEdit;
    Label5: TLabel;
    DBEdit3: TDBEdit;
    Label6: TLabel;
    DBEdit4: TDBEdit;
    Label7: TLabel;
    DBEdit5: TDBEdit;
    Label8: TLabel;
    DBEdit6: TDBEdit;
    Label9: TLabel;
    DBEdit7: TDBEdit;
    Label10: TLabel;
    DBEdit8: TDBEdit;
    Label11: TLabel;
    DBEdit9: TDBEdit;
    DateTimePicker1: TDateTimePicker;
    Label12: TLabel;
    Edit2: TEdit;
    Label13: TLabel;
    DBEdit10: TDBEdit;
    Label14: TLabel;
    DBEdit11: TDBEdit;
    DBCheckBox1: TDBCheckBox;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N4: TMenuItem;
    N3: TMenuItem;
    MaskEdit1: TMaskEdit;
    DateTimePicker2: TDateTimePicker;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    ppBDEPipeline1: TppBDEPipeline;
    ppReport1: TppReport;
    ppHeaderBand1: TppHeaderBand;
    ppDetailBand1: TppDetailBand;
    ppFooterBand1: TppFooterBand;
    ppDBText1: TppDBText;
    ppLabel2: TppLabel;
    ppDBText2: TppDBText;
    ppLabel3: TppLabel;
    ppDBText3: TppDBText;
    ppLabel4: TppLabel;
    ppDBText4: TppDBText;
    ppLabel5: TppLabel;
    ppDBText5: TppDBText;
    ppLabel6: TppLabel;
    ppDBText6: TppDBText;
    ppLabel7: TppLabel;
    ppDBText7: TppDBText;
    ppLabel8: TppLabel;
    ppDBText8: TppDBText;
    ppLabel9: TppLabel;
    ppDBText9: TppDBText;
    ppLabel10: TppLabel;
    ppDBText10: TppDBText;
    ppLabel11: TppLabel;
    ppLine1: TppLine;
    ppLabel1: TppLabel;
    ppLabel12: TppLabel;
    ppLabel13: TppLabel;
    ppLabel14: TppLabel;
    ppLabel15: TppLabel;
    ppLabel16: TppLabel;
    ppLabel17: TppLabel;
    ppSystemVariable1: TppSystemVariable;
    ppLabel18: TppLabel;
    ppSystemVariable2: TppSystemVariable;
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ToolButton8Click(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker1CloseUp(Sender: TObject);
    procedure tbnfindClick(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 FormCreate(Sender: TObject);
    procedure DateTimePicker2CloseUp(Sender: TObject);
    procedure MaskEdit1Exit(Sender: TObject);
    procedure Edit1Exit(Sender: TObject);
    procedure Edit2Exit(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure formkeyup(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ToolButton7Click(Sender: TObject);
    procedure ppReport1BeforePrint(Sender: TObject);
    procedure ppReport1PreviewFormCreate(Sender: TObject);
    procedure ppDBText10GetText(Sender: TObject; var Text: String);
    procedure ToolButton3Click(Sender: TObject);
  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
  Formborrow: TFormborrow;

implementation

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

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

procedure TFormborrow.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  datamod.ADOborrow.Close;
  action:=cafree;
  formborrow:=nil;
end;

procedure TFormborrow.ToolButton8Click(Sender: TObject);
begin
  close;
end;

procedure TFormborrow.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if activecontrol=dbgrid1 then
    exit;
  if key=#13 then   //窗体内的回车键的控制
    begin
      key:=#0;
      perform(cm_dialogkey,vk_tab,0);
    end;
end;

procedure TFormborrow.DateTimePicker1CloseUp(Sender: TObject);
begin
   dbedit5.text:=datetostr(datetimepicker1.date); //单击datetimepicker时, dbeidt9中显示,dbedit10年龄自动显示
end;

procedure TFormborrow.tbnfindClick(Sender: TObject);
begin
  findrecorder(datamod.adoborrow,'Adoborrow','sal09010');   //调用publicfuction中的查询功能
end;

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

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

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

procedure TFormborrow.FormCreate(Sender: TObject);
begin
  datamod.ADOborrow.open;
  datetimepicker1.Date:=date;
  datetimepicker2.Date:=date;
  maskedit1.Text:=datetostr(date);
  datamod.ADOborrow.Filtered :=false;
  datamod.ADOborrow.Filter :='rq='''+maskedit1.Text+''' ';
  datamod.ADOborrow.Filtered :=true;
end;

procedure TFormborrow.DateTimePicker2CloseUp(Sender: TObject);
begin
  maskedit1.Text :=datetostr(datetimepicker2.date);
end;

procedure TFormborrow.MaskEdit1Exit(Sender: TObject);
begin
  if maskedit1.Text <>'    /  /  ' then
    begin
      datamod.ADOborrow.Filtered :=false;
      datamod.ADOborrow.Filter :='rq='''+maskedit1.Text+''' ';
      datamod.ADOborrow.Filtered :=true;
    end;
end;

procedure TFormborrow.Edit1Exit(Sender: TObject);
begin
  if trim(edit1.text)<>'' then
    begin
      datamod.ADOborrow.Filtered :=false;
      datamod.ADOborrow.Filter :='workno='''+edit1.text+''' ';
      datamod.ADOborrow.Filtered :=true;
    end;
end;

procedure TFormborrow.Edit2Exit(Sender: TObject);
begin
  if trim(edit2.text)<>'' then
    begin
      datamod.ADOborrow.Filtered :=false;
      datamod.ADOborrow.Filter :='name='''+edit2.text+''' ';
      datamod.ADOborrow.Filtered :=true;
    end;
end;

procedure TFormborrow.RadioButton1Click(Sender: TObject);
begin
  datamod.ADOborrow.Filtered :=false;
  if radiobutton1.Checked then
    datamod.ADOborrow.Filter :='alreadyreturn=1'
  else
    datamod.ADOborrow.Filter :='alreadyreturn=0';
  datamod.ADOborrow.Filtered :=true;
end;

procedure TFormborrow.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_contents0033');
  end;
end;

procedure TFormborrow.ToolButton7Click(Sender: TObject);
begin
  ppreport1.DeviceType:='Screen';
  ppreport1.Print;
end;

procedure TFormborrow.ppReport1BeforePrint(Sender: TObject);
begin
  pplabel1.Caption:=companyname1;
  pplabel16.Caption:=pubworkname;
  if maskedit1.text<>'    /  /  ' then
     pplabel13.Caption:=maskedit1.Text
  else
     pplabel3.Caption:='';
end;

procedure TFormborrow.ppReport1PreviewFormCreate(Sender: TObject);
begin
  tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;

procedure TFormborrow.ppDBText10GetText(Sender: TObject; var Text: String);
begin
  if text='0' then
     text:='未还'
  else
     text:='已还';
end;

procedure TFormborrow.ToolButton3Click(Sender: TObject);
begin
  datamod.ADOborrow.Filtered :=false;
  datamod.ADOborrow.Filter :='';
  datamod.ADOborrow.Filtered :=true;
  maskedit1.Text:='    /  /  ';
end;

end.

⌨️ 快捷键说明

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