📄 main1.pas
字号:
unit main1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, SUIMainMenu, ExtCtrls, SUIForm, DB, DBTables;
type
Tmain = class(TForm)
Table1: TTable;
suiform1: TsuiForm;
suiMainMenu1: TsuiMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N16: TMenuItem;
N15: TMenuItem;
N11: TMenuItem;
N17: TMenuItem;
procedure N6Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N17Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
main: Tmain;
username,password:string;
right_1,right_2,right_3:boolean;
year,month,day:word;
str:string;
implementation
uses
operatormanage,
changepassword,
gzchange,
employee,
creatsalarytable,
seekdata,
salary_change,
historyfind,
checkuser,datatable,month_find;
{$R *.dfm}
procedure Tmain.N6Click(Sender: TObject);
begin
close;
end;
procedure Tmain.FormActivate(Sender: TObject);
begin
table1.DatabaseName:='DBMS';
decodedate(date(),year,month,day);
str:='is'+inttostr(year);
//datamodule1.checkdatatable;
// Table1.Active:=false;
//table1.tablename:=str;
checkuserform.Visible:=false;
end;
//调用操作员管理模块
procedure Tmain.N2Click(Sender: TObject);
begin
operatormanageform.showmodal;
end;
//调用用户密码修改模块
procedure Tmain.N3Click(Sender: TObject);
begin
changepasswordform.showmodal;
end;
//系统初始化模块
procedure Tmain.N5Click(Sender: TObject);
begin
if application.messagebox('是否进行系统初始化,放弃?','提示信息',mb_YesNo)=IDNO then
begin
initiateform.ShowModal;
application.MessageBox('系统初始化结束','提示信息',mb_ok);
end
else
application.MessageBox('放弃系统初始化','提示信息',mb_ok);
end;
//调用职工资料管理模块
procedure Tmain.N10Click(Sender: TObject);
begin
employeeform.ShowModal;
end;
//应用软件检测系统数据表是否存在的过程
//当月实发工资表
procedure Tmain.N9Click(Sender: TObject);
var
sourcetable:ttable;
desttable:ttable;
lstable:ttable;
begin
sourcetable:=ttable.Create(self);
sourcetable.DatabaseName:='DBMS';
sourcetable.TableName:='Salary';
sourcetable.Active:=true;
desttable:=ttable.Create(self);
desttable.DatabaseName:='DBMS';
desttable.TableName:='month_salary';
desttable.EmptyTable;
desttable.Active:=true;
lstable:=ttable.Create(self);
lstable.DatabaseName:='DBMS';
lstable.TableName:='is'+inttostr(year);
lstable.Active:=true;
while not sourcetable.Eof do
begin
if not sourcetable.FieldByName('enabled').AsBoolean then
begin
desttable.Append;
desttable.Edit;
desttable.FieldByName('number').AsString:=sourcetable.FieldByName('number').AsString;
desttable.FieldByName('name').AsString:=sourcetable.FieldByName('name').AsString;
desttable.FieldByName('salary_date').AsString:=inttostr(month);
desttable.FieldByName('operator').AsString:=USERNAME;
desttable.FieldByName('base_salary').Asfloat:=sourcetable.FieldByName('base_salary').AsFloat;
desttable.FieldByName('float_salary').Asfloat:=sourcetable.FieldByName('float_salary').asfloat;
desttable.FieldByName('allowance_salary').Asfloat:=sourcetable.FieldByName('allowance_salary').asfloat;
desttable.FieldByName('award').Asfloat:=sourcetable.FieldByName('award').asfloat;
desttable.FieldByName('addition_award').Asfloat:=sourcetable.FieldByName('addition_award').asfloat;
desttable.FieldByName('insurance').Asfloat:=sourcetable.FieldByName('insurance').asfloat;
desttable.FieldByName('rent').Asfloat:=sourcetable.FieldByName('rent').asfloat;
desttable.FieldByName('age_salary').Asfloat:=sourcetable.FieldByName('age_salary').asfloat;
desttable.FieldByName('detain').Asfloat:=sourcetable.FieldByName('detain').asfloat;
desttable.FieldByName('rest').Asfloat:=sourcetable.FieldByName('rest').asfloat;
desttable.FieldByName('sum').Asfloat:=sourcetable.FieldByName('sum').asfloat;
desttable.FieldByName('REAL_SALARY').Asfloat:=sourcetable.FieldByName('REAL_SALARY').asfloat;
desttable.FieldByName('tax').Asfloat:=sourcetable.FieldByName('tax').asfloat;
desttable.FieldByName('note').AsString:=inttostr(year)+'年'+inttostr(month)+'月份工资';
desttable.Post;
lstable.Append;
lstable.Edit;
lstable.FieldByName('number').AsString:=sourcetable.FieldByName('number').AsString;
lstable.FieldByName('name').AsString:=sourcetable.FieldByName('name').AsString;
lstable.FieldByName('operator').AsString:=USERNAME;
lstable.FieldByName('base_salary').Asfloat:=sourcetable.FieldByName('base_salary').AsFloat;
lstable.FieldByName('float_salary').Asfloat:=sourcetable.FieldByName('float_salary').asfloat;
lstable.FieldByName('allowance_salary').Asfloat:=sourcetable.FieldByName('allowance_salary').asfloat;
lstable.FieldByName('award').Asfloat:=sourcetable.FieldByName('award').asfloat;
lstable.FieldByName('addition_award').Asfloat:=sourcetable.FieldByName('addition_award').asfloat;
lstable.FieldByName('insurance').Asfloat:=sourcetable.FieldByName('insurance').asfloat;
lstable.FieldByName('rent').Asfloat:=sourcetable.FieldByName('rent').asfloat;
lstable.FieldByName('age_salary').Asfloat:=sourcetable.FieldByName('age_salary').asfloat;
lstable.FieldByName('detain').Asfloat:=sourcetable.FieldByName('detain').asfloat;
lstable.FieldByName('rest').Asfloat:=sourcetable.FieldByName('rest').asfloat;
lstable.FieldByName('sum').Asfloat:=sourcetable.FieldByName('sum').asfloat;
lstable.FieldByName('REAL_SALARY').Asfloat:=sourcetable.FieldByName('REAL_SALARY').asfloat;
lstable.FieldByName('note').AsString:=inttostr(year)+'年'+inttostr(month)+'月份工资';
lstable.FieldByName('tax').Asfloat:=sourcetable.FieldByName('tax').asfloat;
lstable.FieldByName('OPERATOR_DATE').AsDateTime:=date();
lstable.Post;
end;
sourcetable.Next;
end;
application.MessageBox('当月工资表生成完成!','提示新息',mb_OK);
end;
//设置税率模块
procedure Tmain.N14Click(Sender: TObject);
begin
settaxratetableform.ShowModal;
end;
//重新计算所得税模块
procedure Tmain.N13Click(Sender: TObject);
var
ZLTable:ttable;
TaxTable:ttable;
i:integer;
sum,tax:real;
rate:array[1..100] of real;
division:array[1..100] of integer;
begin
//计算所得税
ZLtable:=ttable.Create(self);
zltable.DatabaseName:='DBMS';
zltable.TableName:='salary';
zltable.Active:=true;
taxtable:=ttable.Create(self);
taxtable.DatabaseName:='DBMS';
taxtable.TableName:='tax';
taxtable.Active:=true;
i:=1;
while not taxtable.Eof do
begin
division[i]:=taxtable.fieldbyname('division').AsInteger;
rate[i]:=taxtable.fieldbyname('rate').AsFloat;
taxtable.Next;
i:=i+1;
end;
division[i]:=-1;
rate[i]:=0;
while not zltable.Eof do
begin
tax:=0;
i:=1;
sum:=zltable.fieldbyname('sum').AsFloat;
while division[i]<>-1 do
begin
if sum>division[i] then
begin
if sum<division[i+1] then
begin
tax:=sum*rate[i];
division[i]:=-1;
end
else i:=i+1
end
else
begin
tax:=0;
division[i]:=-1;
end;
end;
if (i<>1) and (rate[i]=0) then
tax:=sum*rate[i-1];
zltable.Edit;
zltable.FieldByName('tax').AsFloat:=tax;
zltable.Post;
zltable.Next;
end;
end;
procedure Tmain.N8Click(Sender: TObject);
begin
seekform.ShowModal;
end;
//职工工资修改模块
procedure Tmain.N12Click(Sender: TObject);
begin
salarychangeform.ShowModal;
end;
//调用历史查询
procedure Tmain.N16Click(Sender: TObject);
begin
history.ShowModal;
end;
procedure Tmain.N15Click(Sender: TObject);
begin
monthfind.ShowModal;
end;
procedure Tmain.N17Click(Sender: TObject);
var
about:textfile;
begin
assignfile(about,'about.txt');
reset(about);
try
'about.txt';
finally
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -