📄 gzxxsd.~pas
字号:
unit Gzxxsd;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Mask, StdCtrls, Buttons, ADODB, DB;
type
TGzxxsd_Form = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
Edit5: TEdit;
Label6: TLabel;
Label7: TLabel;
MaskEdit1: TMaskEdit;
MaskEdit2: TMaskEdit;
Label8: TLabel;
Edit6: TEdit;
Label9: TLabel;
Edit7: TEdit;
Label10: TLabel;
Edit8: TEdit;
Label11: TLabel;
Edit9: TEdit;
Label12: TLabel;
Edit10: TEdit;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Edit11: TEdit;
Label16: TLabel;
Edit12: TEdit;
CheckBox1: TCheckBox;
BitBtn2: TBitBtn;
BitBtn1: TBitBtn;
Label17: TLabel;
Edit13: TEdit;
Label18: TLabel;
Edit14: TEdit;
Label19: TLabel;
Edit15: TEdit;
Label20: TLabel;
Edit16: TEdit;
Label21: TLabel;
Edit17: TEdit;
Label22: TLabel;
Edit18: TEdit;
ComboBox1: TComboBox;
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
ADOQuery1: TADOQuery;
ADOTable2: TADOTable;
Edit2: TEdit;
Edit19: TEdit;
Label23: TLabel;
Edit20: TEdit;
ADOTable3: TADOTable;
procedure FormActivate(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure ComboBox1Click(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Edit7Exit(Sender: TObject);
procedure Edit8Exit(Sender: TObject);
procedure Edit9Exit(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
procedure Edit19Exit(Sender: TObject);
procedure Edit10Exit(Sender: TObject);
procedure Edit13Exit(Sender: TObject);
procedure Edit15Exit(Sender: TObject);
procedure Edit14Exit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure carcl();
end;
var
Gzxxsd_Form: TGzxxsd_Form;
curbuff:array[0..11] of Currency;
tax_flag:boolean;
tax:real;
tax_buff:array[0..50] of real;
implementation
uses Main;
{$R *.dfm}
procedure TGzxxsd_Form.carcl();
var i:integer;
taxbuff:array[0..100] of integer;
begin
curbuff[0]:=strtocurr(edit6.Text);
curbuff[1]:=strtocurr(edit7.Text);
curbuff[2]:=strtocurr(edit8.Text);
curbuff[3]:=strtocurr(edit9.Text);
curbuff[4]:=strtocurr(edit2.Text);
curbuff[5]:=strtocurr(edit19.Text);
curbuff[6]:=strtocurr(edit10.Text);
curbuff[7]:=strtocurr(edit13.Text);
curbuff[8]:=strtocurr(edit14.Text);
curbuff[9]:=strtocurr(edit15.Text);
curbuff[10]:=0;
curbuff[11]:=0;
adotable3.Active:=true;
tax_flag:=false;
//-------------------------------------------------------
// -----------------计算总工资---------------------------
//-------------------------------------------------------
for i:=0 to 9 do
begin
curbuff[10]:=curbuff[10] + curbuff[i];
end;
//-------------------------------------------------------
// -----------------取得税率---------------------------
//-------------------------------------------------------
taxbuff[0]:=adotable3.FieldByName('分征点').AsInteger;
tax_buff[0]:=adotable3.FieldByName('税率').Asfloat;
adotable3.Next;
i:=1;
while (tax_flag=false) and (adotable3.Eof<>true) do
begin
taxbuff[i]:=adotable3.FieldByName('分征点').AsInteger;
tax_buff[i]:=adotable3.FieldByName('税率').Asfloat;
if curbuff[10]<taxbuff[0] then
begin
curbuff[11]:=0;
tax_flag:=true;
end
else
begin
if(taxbuff[i-1]<=curbuff[10]) and (curbuff[10]<taxbuff[i]) then
begin
tax:=tax_buff[i-1];
tax_flag:=true;
end
else
begin
i:=i+1;
adotable3.Next;
end;
end;
end;
//-------------------------------------------------------
// -----------------计算实发工资---------------------------
//-------------------------------------------------------
curbuff[11]:=curbuff[10]*tax;
edit16.Text:=currtostr(curbuff[11]);
edit17.Text:=currtostr(curbuff[10]);
edit18.Text:=currtostr(curbuff[10]-curbuff[11]);
edit20.Text:=floattostr(tax);
adotable3.Close;
//-----------------------------------------------------------
//----------------- 清零 ----------------------------------
//------------------------------------------------------------
end;
procedure TGzxxsd_Form.FormActivate(Sender: TObject);
begin
ADOConnection1:=MAIN_FORM.ADOConnection1;
adotable1.Connection:=ADOConnection1;
adotable1.TableName:='职工信息表';
adotable1.Active:=true;
adoquery1.Connection:=ADOConnection1;
adotable2.Connection:=ADOConnection1;
adotable2.TableName:='职工工资信息表';
adotable3.Connection:=ADOConnection1;
adotable3.TableName:='分征点设置表';
while adotable1.Eof <> true do
begin
combobox1.Items.Add(adotable1.Fieldbyname('职工编号').AsString);
adotable1.Next;
end;
adotable1.close;
end;
procedure TGzxxsd_Form.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TGzxxsd_Form.ComboBox1Click(Sender: TObject);
begin
if combobox1.Text<>'' then
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 职工信息表 where 职工编号=:ZgNo');
adoquery1.Parameters.Clear;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[0].Name:='ZgNo';
adoquery1.Parameters[0].DataType:=ftstring;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -