othermoney.pas

来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 874 行 · 第 1/2 页

PAS
874
字号
unit othermoney;

interface

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

type
  TFormothermoney = class(TForm)
    ToolBar1: TToolBar;
    ToolButton6: TToolButton;
    ToolButton1: TToolButton;
    ToolButton7: TToolButton;
    ToolButton2: TToolButton;
    tbnsort: TToolButton;
    tbnfind: TToolButton;
    tnbprint: TToolButton;
    tbnexit: TToolButton;
    DBNavigator2: TDBNavigator;
    ImageList1: TImageList;
    DBGrid1: TDBGrid;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N4: TMenuItem;
    N3: TMenuItem;
    ppBDEPipeline1: TppBDEPipeline;
    ppReport2: TppReport;
    ppHeaderBand1: TppHeaderBand;
    ppDetailBand1: TppDetailBand;
    ppDBText1: TppDBText;
    ppLabel2: TppLabel;
    ppDBText2: TppDBText;
    ppLabel3: TppLabel;
    ppLabel5: TppLabel;
    ppDBText5: TppDBText;
    ppLabel6: TppLabel;
    ppDBText6: TppDBText;
    ppLabel7: TppLabel;
    ppDBText7: TppDBText;
    ppLabel8: TppLabel;
    ppLine1: TppLine;
    ppSummaryBand1: TppSummaryBand;
    ppLabel25: TppLabel;
    ppSystemVariable1: TppSystemVariable;
    ppLabel26: TppLabel;
    ppLabel35: TppLabel;
    ppSystemVariable4: TppSystemVariable;
    ppLabel13: TppLabel;
    ppLabel1: TppLabel;
    ppLabel27: TppLabel;
    ppDBCalc7: TppDBCalc;
    Panel2: TPanel;
    Label8: TLabel;
    Label9: TLabel;
    Label12: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    MaskEdit1: TMaskEdit;
    ppLabel4: TppLabel;
    ppDBText4: TppDBText;
    ppDBText3: TppDBText;
    aqy: TADOQuery;
    ADODataSet1: TADODataSet;
    DataSource1: TDataSource;
    ADOothermoney: TADODataSet;
    ADOothermoneyworkno: TStringField;
    ADOothermoneyrq: TDateTimeField;
    ADOothermoneymemo: TStringField;
    ADOothermoneyoperator: TStringField;
    ADOothermoneycdate: TDateTimeField;
    ADOothermoneynoname5: TBCDField;
    ADOothermoneynoname6: TBCDField;
    ADOothermoneynoname7: TBCDField;
    ADOothermoneynoname8: TBCDField;
    ADOothermoneynoname9: TBCDField;
    ADOothermoneynoname10: TBCDField;
    ADOothermoneynoname11: TBCDField;
    ADOothermoneyname: TStringField;
    ADOothermoneydept: TStringField;
    ADOothermoneycardno: TStringField;
    ToolButton3: TToolButton;
    Panel5: TPanel;
    Label4: TLabel;
    Label13: TLabel;
    Label25: TLabel;
    Animate1: TAnimate;
    DateTimePicker5: TDateTimePicker;
    BitBtn1: TBitBtn;
    DateTimePicker6: TDateTimePicker;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    ADOQuery1: TADOQuery;
    PopupMenu2: TPopupMenu;
    PopupMenu3: TPopupMenu;
    PopupMenu4: TPopupMenu;
    PopupMenu5: TPopupMenu;
    PopupMenu6: TPopupMenu;
    PopupMenu7: TPopupMenu;
    PopupMenu8: TPopupMenu;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    ppLabel9: TppLabel;
    ppLabel10: TppLabel;
    ppLabel11: TppLabel;
    ppLabel12: TppLabel;
    ppLabel14: TppLabel;
    ppDBText8: TppDBText;
    ppDBText9: TppDBText;
    ppDBText10: TppDBText;
    ppDBText11: TppDBText;
    ppDBText12: TppDBText;
    ppLabel15: TppLabel;
    ADOothermoneyyangrao: TBCDField;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label5: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label14: TLabel;
    Label16: TLabel;
    Label18: TLabel;
    Label20: TLabel;
    Label22: TLabel;
    Label7: TLabel;
    Label3: TLabel;
    Label6: TLabel;
    Label15: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DateTimePicker1: TDateTimePicker;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit8: TDBEdit;
    DBCheckBox1: TDBCheckBox;
    DBEdit9: TDBEdit;
    DBCheckBox2: TDBCheckBox;
    DBEdit11: TDBEdit;
    DBCheckBox3: TDBCheckBox;
    DBEdit12: TDBEdit;
    DBCheckBox4: TDBCheckBox;
    DBEdit13: TDBEdit;
    DBCheckBox5: TDBCheckBox;
    DBEdit14: TDBEdit;
    DBCheckBox6: TDBCheckBox;
    DBEdit7: TDBEdit;
    DBCheckBox7: TDBCheckBox;
    DBEdit3: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit4: TDBEdit;
    Label19: TLabel;
    DBEdit16: TDBEdit;
    DBEdit19: TDBEdit;
    Label24: TLabel;
    GroupBox1: TGroupBox;
    DBEdit17: TDBEdit;
    Label21: TLabel;
    DBEdit18: TDBEdit;
    Label23: TLabel;
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure tbnexitClick(Sender: TObject);
    procedure tbnsortClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure DBGrid1TitleClick(Column: TColumn);
    procedure tbnfindClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ToolButton2Click(Sender: TObject);
    procedure MaskEdit1Exit(Sender: TObject);
    procedure Edit1Exit(Sender: TObject);
    procedure Edit2Exit(Sender: TObject);
    procedure tnbprintClick(Sender: TObject);
    procedure ppReport2BeforePrint(Sender: TObject);
    procedure DBEdit1Exit(Sender: TObject);
    procedure DateTimePicker1CloseUp(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure ppReport2PreviewFormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    manyfield:boolean;
    findex:array[1..5] of integer;
    fsort:array[1..5] of string;
    fcount:0..5;
    dbgrid:0..2;
    f:string;   //排序的字段
    angry:0..2;
  end;

var
  Formothermoney: TFormothermoney;

implementation

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

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

procedure TFormothermoney.FormKeyPress(Sender: TObject; var Key: Char);
begin
   if key=#13 then
   begin
      key:=#0;
      if activecontrol=dbedit18 then
      begin

     if  datamod.adoothermoney.state=dsinsert  then
     begin
         datamod.adoothermoney.post;
         datamod.adoothermoney.append;
     end;
     dbedit2.setfocus;
     end else
     selectnext(activecontrol,true,true);
   end;
end;

procedure TFormothermoney.tbnexitClick(Sender: TObject);
begin
   close;
end;

procedure TFormothermoney.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 TFormothermoney.N1Click(Sender: TObject);
var i:integer;
   db:Tdbgrid;
begin
  if dbgrid=1 then
    db:=dbgrid1
//  else if dbgrid=2 then
//    db:=dbgrid2
  else
    exit;
  for i:=1 to fcount do
   if db.SelectedIndex =findex[i] then
    begin
     fsort[i]:='ASC';
     exit;
    end;
  if fcount<5 then
   begin
    fcount:=fcount+1;
    findex[fcount]:=db.selectedindex;
    fsort[fcount]:='ASC';
    db.Columns[db.selectedindex].Color :=clgray;
   end;
end;

procedure TFormothermoney.N2Click(Sender: TObject);
var i:integer;
   db:Tdbgrid;
begin
  if dbgrid=1 then
    db:=dbgrid1
//  else if dbgrid=2 then
//    db:=dbgrid2
  else
    exit;
  for i:=1 to fcount do
   if db.SelectedIndex =findex[i] then
    begin
     fsort[i]:='DESC';
     exit;
    end;
  if fcount<5 then
   begin
    fcount:=fcount+1;
    findex[fcount]:=db.selectedindex;
    fsort[fcount]:='DESC';
    db.Columns[db.selectedindex].Color :=clgray;
   end;
end;

procedure TFormothermoney.N4Click(Sender: TObject);
var i:1..5;
   db:Tdbgrid;
begin
  if dbgrid=1 then
    db:=dbgrid1
//  else if dbgrid=2 then
//    db:=dbgrid2
  else
    exit;
  datamod.adoothermoney.Sort:='';
  for i:=1 to fcount do
  begin
   if db.Columns[findex[i]].Color=clgray then
    begin
     datamod.adoothermoney.Sort :=datamod.adoothermoney.Sort+db.Columns[findex[i]].FieldName+' '+fsort[i];
     if i<fcount then datamod.adoothermoney.Sort:=datamod.adoothermoney.Sort+',';
    end;
  end;
end;

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

procedure TFormothermoney.DBGrid1TitleClick(Column: TColumn);
var db:Tdbgridsort;
begin
 if angry=2 then
   begin
    angry:=0;
    exit;
   end;
  db:=Tdbgridsort.create;   //调用排序
  db.sort(column,DATAMOD.ADOothermoney,f);
  db.free;
  angry:=1;
end;

procedure TFormothermoney.tbnfindClick(Sender: TObject);
begin
 // if assigned(formcanfind) then  formcanfind.close;
  findrecorder(ADOothermoney,'Adoothermoney','per24014');   //调用publicfuction中的查询功能
end;

procedure TFormothermoney.FormCreate(Sender: TObject);

begin
 datetimepicker1.date:=date;
 aqy.close;
 aqy.sql.clear;
 aqy.sql.add('select * from salnoname');
 aqy.open;
 if  not aqy.eof then
 begin
 with datamod do
 begin
  adoothermoneynoname5.displaylabel:=aqy.fieldbyname('noname5').asstring;
  adoothermoneynoname6.displaylabel:=aqy.fieldbyname('noname6').asstring;
  adoothermoneynoname7.displaylabel:=aqy.fieldbyname('noname7').asstring;
  adoothermoneynoname8.displaylabel:=aqy.fieldbyname('noname8').asstring;
  adoothermoneynoname9.displaylabel:=aqy.fieldbyname('noname9').asstring;
  adoothermoneynoname10.displaylabel:=aqy.fieldbyname('noname10').asstring;
  adoothermoneynoname11.displaylabel:=aqy.fieldbyname('noname11').asstring;
   adoothermoney.open;
  end;
  label7.caption:=aqy.fieldbyname('noname5').asstring;   label7.update;
  label5.caption:=aqy.fieldbyname('noname6').asstring;   label5.update;
  label10.caption:=aqy.fieldbyname('noname7').asstring;   label10.update;
  label16.caption:=aqy.fieldbyname('noname8').asstring;   label16.update;
  label18.caption:=aqy.fieldbyname('noname9').asstring;   label18.update;
  label20.caption:=aqy.fieldbyname('noname10').asstring;  label20.update;
  label22.caption:=aqy.fieldbyname('noname11').asstring;  label22.update;

  adoothermoneynoname5.displaylabel:=aqy.fieldbyname('noname5').asstring;
  adoothermoneynoname6.displaylabel:=aqy.fieldbyname('noname6').asstring;
  adoothermoneynoname7.displaylabel:=aqy.fieldbyname('noname7').asstring;
  adoothermoneynoname8.displaylabel:=aqy.fieldbyname('noname8').asstring;
  adoothermoneynoname9.displaylabel:=aqy.fieldbyname('noname9').asstring;
  adoothermoneynoname10.displaylabel:=aqy.fieldbyname('noname10').asstring;
  adoothermoneynoname11.displaylabel:=aqy.fieldbyname('noname11').asstring;
  adoothermoney.open;
  end;
  //datetimepicker1.datetime:=Date;
  maskedit1.Text:=datetostr(date);
end;

procedure TFormothermoney.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
   datamod.adoothermoney.close;
   adoothermoney.close;
   formothermoney:=nil;
   action:=cafree;
end;

procedure TFormothermoney.ToolButton2Click(Sender: TObject);
begin
  formothermoneydef:=Tformothermoneydef.create(self);
  formothermoneydef.showmodal;

⌨️ 快捷键说明

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