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

📄 unit10.pas

📁 这是个才财务管理系统!可能是哪个语言!但是我不认识!
💻 PAS
字号:
unit Unit10;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, StdCtrls, Db, DBTables, Buttons, Spin;

type
  Tfrm_wage = class(TForm)
    Table1: TTable;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    btn_new: TBitBtn;
    btn_total: TBitBtn;
    btn_clear: TBitBtn;
    btn_print: TBitBtn;
    btn_exit: TBitBtn;
    Label26: TLabel;
    Label25: TLabel;
    Query1: TQuery;
    se_year: TSpinEdit;
    se_month: TSpinEdit;
    lbl_wage: TLabel;
    Label1: TLabel;
    lbl_total: TLabel;
    Label4: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    lbl_rec: TLabel;
    procedure btn_exitClick(Sender: TObject);
    procedure btn_newClick(Sender: TObject);
    procedure btn_totalClick(Sender: TObject);
    procedure btn_clearClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure se_yearChange(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure btn_printClick(Sender: TObject);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure DBGrid1CellClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frm_wage: Tfrm_wage;

implementation

uses Unit16;

{$R *.DFM}

procedure Tfrm_wage.btn_exitClick(Sender: TObject);
begin
 self.close;
end;

procedure Tfrm_wage.btn_newClick(Sender: TObject);
var
asql:string;
i:integer;
date1,date2:Tdatetime;
begin
table1.Filter:='工资年度='+se_year.text+' and 工资月份='+se_month.text;
table1.Filtered:=true;
if table1.RecordCount=0 then
begin
asql:='insert into 工资表(编号,姓名,日工资,出勤天数,奖金,安装费,工资年度,工资月份) '+
      'select distinct 序号,姓名,日工资,25,0,0,'+se_year.text+','+se_month.text+
      ' from 人员信息表.db;';
query1.sql.Text:=asql;
query1.ExecSQL;
table1.Refresh;
table1.first;
date1:=encodedate(se_year.Value,se_month.value,1);
date2:=encodedate(se_year.Value,se_month.value+1,1);
for i:=0 to table1.recordcount-1 do
begin
query1.close;
query1.sql.text:=('select sum(安装费) from 安装记录表.db where 主安装人="'+table1.fields[1].asstring+'"');
query1.sql.add(' and 安装日期>=:d1 and 安装日期<:d2;');
query1.ParamByName('d1').asdatetime:=date1;
query1.ParamByName('d2').asdatetime:=date2;
query1.open;
table1.edit;
table1.FieldByName('安装费').asfloat:=query1.fields[0].asfloat;
table1.Post;
table1.next;
end;
end;
end;

procedure Tfrm_wage.btn_totalClick(Sender: TObject);
var
  s:string;
begin
  table1.filter:='工资年度='+se_year.text+'and 工资月份='+se_month.text;
  table1.filtered:=true;
  if table1.recordcount<>0 then

  begin
    s:='update 工资表.db set 出勤工资=日工资*出勤天数,合计=出勤工资+奖金+安装费 '+
       'where 工资年度='+se_year.text+' and 工资月份 ='+se_month.text;
    query1.sql.text:=s;
    query1.execsql;
    table1.refresh;


    s:='select sum(出勤工资),sum(合计),sum(安装费) from 工资表.db where 工资年度='+se_year.text+' and 工资月份='+se_month.text;
    query1.sql.text:=s;
    query1.open;
    lbl_wage.caption:=query1.fields[0].asstring;
    lbl_total.caption:=query1.fields[1].asstring;
    query1.close;
  end;
end;



procedure Tfrm_wage.btn_clearClick(Sender: TObject);
var
  s:string;
begin
  s:='delete from 工资表.db where 工资年度='+se_year.text+'and 工资月份='+se_month.text;
  query1.sql.text:=s;
  query1.execsql;
  table1.refresh;
end;


procedure Tfrm_wage.FormCreate(Sender: TObject);
var
ayear,amonth,aday:word;
begin
lbl_rec.Caption:=inttostr(table1.recordcount);
decodedate(date(),ayear,amonth,aday);
se_year.value:=ayear;
se_month.value:=amonth;
table1.filter:='工资年度='+se_year.text+' and 工资月份='+se_month.text;
table1.filtered:=true;
end;


procedure Tfrm_wage.se_yearChange(Sender: TObject);
begin
  table1.filter:='工资年度='+se_year.text+' and 工资月份='+se_month.text;
  table1.filtered:=true;
end;

procedure Tfrm_wage.DataSource1DataChange(Sender: TObject; Field: TField);
begin
 lbl_rec.Caption:=inttostr(table1.recordcount);
end;

procedure Tfrm_wage.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (table1.recno=table1.recordcount) and (key=vk_down) then key:=0;
end;

procedure Tfrm_wage.btn_printClick(Sender: TObject);
begin
  table1.First;
  rpt_wage.table1.Filter:='工资年度='+se_year.text+' and 工资月份='+se_month.text;
  rpt_wage.table1.Filtered:=true;
  rpt_wage.Preview;
end;

procedure Tfrm_wage.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
   With dbgrid1 do begin
    If Odd(table1.FieldByName('编号').asinteger) then begin
      Canvas.Brush.Color:=$02E0E8F0;
      Canvas.Font.Color:=$02003300;
    end
    else begin
      Canvas.Brush.Color:=$02E8F8F8;
      Canvas.Font.Color:=$02330000;
    end;
    If State=[gdSelected] then begin
      Canvas.Brush.Color:=$02445511;
      Canvas.Font.Color:=clWhite;
    end;
    DefaultDrawColumnCell(Rect,DataCol,Column,State);
  end;
end;

procedure Tfrm_wage.DBGrid1CellClick(Column: TColumn);
begin
{ with table1 do
  begin
    if RecordCount<1 then Exit;
    if State<>dsEdit then Edit;
    if FieldByName('选择').AsBoolean
      then FieldByName('选择').AsBoolean := False
      else FieldByName('选择').AsBoolean := True;
    Post;
  end; }
end;

end.

⌨️ 快捷键说明

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