📄 main.~pas
字号:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus,DB, DBTables,
checkuser, //用户名监测
operatormanage,//操作员管理
changepassword,//修改操作员密码
gzchange,//初始化
employee,//职工资料信息
createsalarytable,//设置税率
seekdata,//教师资料信息查询
salary_change,//工资调整
historyfind,//历史资料
infofind;//职工资料查询
type
TMainForm = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
Table1: TTable;
N9: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: 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 N15Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N16Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure CheckDataTable;
end;
var
MainForm: TMainForm;
username,password:string;
right_1,right_2,right_3:boolean;
year,month,day:word;
str:string;
implementation
{$R *.dfm}
procedure TMainForm.N6Click(Sender: TObject);
begin
close;
end;
procedure TMainForm.FormActivate(Sender: TObject);
var
i:integer;
begin
Table1.DatabaseName:='gzgl';
DecodeDate(Date(),year,month,day);
str:='ls'+IntToStr(year);
Table1.Active:=false;
Table1.TableName:=str;
CheckdataTable;
Table1.TableName:='operator';
i:=3;
if FileExists('operator.db') then
begin
while i>0 do
begin
CheckUserForm.ShowModal;
if username='' then
close;
Table1.Active:=true;
Table1.EditKey;
Table1.FieldByName('name').asstring:=username;
Table1.GotoKey;
if (Table1.FieldByName('name').AsString=username) and (Table1.FieldByName('password').AsString=password)then
begin
Right_1:=Table1.FieldByName('Right_1').AsBoolean;
Right_2:=Table1.FieldByName('Right_2').AsBoolean;
Right_3:=Table1.FieldByName('Right_3').AsBoolean;
Table1.Active:=false;
i:=-1;
end
else
Application.MessageBox('用户名或密码错误,请检查后重试!','提示信息',MB_OK);
i:=i-1;
end;
if i=0 then
begin
Application.MessageBox('用户名或密码错误,请退出!','提示信息',MB_OK);
close;
end
end
else
begin
Application.MessageBox('数据库丢失,请检查!','提示信息',4);
Close
end;
if right_1 =true then
begin
MainForm.N2.Enabled:=true;
MainForm.N5.Enabled:=true;
end
else
begin
MainForm.N2.Enabled:=false;
MainForm.N5.Enabled:=false;
end;
end;
procedure TMainForm.N2Click(Sender: TObject);
begin
operatormanageform.ShowModal;
end;
procedure TMainForm.N3Click(Sender: TObject);
begin
ChangePasswordForm.ShowModal;
end;
procedure TMainForm.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 TMainForm.N10Click(Sender: TObject);
begin
EmployeeForm.ShowModal;
end;
procedure TMainForm.CheckDataTable;
begin
//检测操作员数据表
Table1.TableName:='operator';
if not Table1.Exists then
begin
Table1.FieldDefs.Clear;
with Table1.FieldDefs.AddFieldDef do
begin
Name:='name';
DataType:=ftstring;
size:=8;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do
begin
Name:='password';
DataType:=ftstring;
size:=8
end;
with Table1.FieldDefs.AddFieldDef do
begin
Name:='department';
DataType:=ftstring;
size:=20;
end;
with Table1.FieldDefs.AddFieldDef do
begin
Name:='time';
DataType:=ftdate;
end;
with Table1.FieldDefs.AddFieldDef do
begin
Name:='right_1';
DataType:=ftboolean;
end;
with Table1.FieldDefs.AddFieldDef do
begin
Name:='right_2';
DataType:=ftboolean;
end;
with Table1.FieldDefs.AddFieldDef do
begin
Name:='right_3';
DataType:=ftboolean;
end;
Table1.IndexDefs.Clear;
with Table1.IndexDefs.AddIndexDef do
begin
Name := '';
Fields := 'name';
Options := [ixPrimary];
end;
Table1.CreateTable;
Table1.active:=true;
Table1.append;
Table1.Edit;
Table1.FieldByname('name').AsString:='admin';
Table1.FieldByname('password').AsString:='12345678';
Table1.FieldByname('department').AsString:='财务处';
Table1.FieldByname('time').AsDateTime:=Date();
Table1.FieldByname('right_1').AsBoolean:=true;
Table1.FieldByname('right_2').AsBoolean:=true;
Table1.FieldByname('right_3').AsBoolean:=true;
Table1.Post;
Table1.Active:=false;
end;
//当年历史资料库
Table1.TableName:=str;
if not Table1.Exists then
begin
Table1.FieldDefs.Clear;
with Table1.FieldDefs.AddFieldDef do //工资编号
begin
Name:='number';
DataType:=ftstring;
size:=6;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //职工名称
begin
Name:='name';
DataType:=ftstring;
size:=8;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //操作员
begin
Name:='operator';
DataType:=ftString;
size:=8;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //基本工资
begin
Name:='base_salary';
DataType:=ftFloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //浮动工资
begin
Name:='float_salary';
DataType:=ftFloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //岗位津贴
begin
Name:='allowance_salary';
DataType:=ftFloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //工龄工资
begin
Name:='age_salary';
DataType:=ftfloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //奖金
begin
Name:='award';
DataType:=ftFloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //补贴
begin
Name:='addition_award';
DataType:=ftFloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //保险费
begin
Name:='insurance';
DataType:=ftFloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //房租
begin
Name:='rent';
DataType:=ftFloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //补扣
begin
Name:='detain';
DataType:=ftFloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //工资总计
begin
Name:='sum';
DataType:=ftFloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //备注
begin
Name:='note';
DataType:=ftString;
size:=20;
end;
with Table1.FieldDefs.AddFieldDef do //操作日期
begin
Name:='operator_date';
DataType:=ftDate;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //其他工资
begin
Name:='rest';
DataType:=ftfloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //扣税
begin
Name:='tax';
DataType:=ftfloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //实发工资
begin
Name:='real_salary';
DataType:=ftfloat;
Required:=true;
end;
Table1.CreateTable;
end;
//当月实发工资表
Table1.TableName:='month_salary';
if not Table1.Exists then
begin
Table1.FieldDefs.Clear;
with Table1.FieldDefs.AddFieldDef do //工资编号
begin
Name:='number';
DataType:=ftstring;
size:=6;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //职工名称
begin
Name:='name';
DataType:=ftstring;
size:=8;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //发工资年月
begin
Name:='salary_date';
DataType:=ftString;
size:=2;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //操作员
begin
Name:='operator';
DataType:=ftString;
size:=8;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //基本工资
begin
Name:='base_salary';
DataType:=ftFloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //浮动工资
begin
Name:='float_salary';
DataType:=ftFloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //岗位津贴
begin
Name:='allowance_salary';
DataType:=ftFloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //工龄工资
begin
Name:='age_salary';
DataType:=ftfloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //奖金
begin
Name:='award';
DataType:=ftFloat;
Required:=true;
end;
with Table1.FieldDefs.AddFieldDef do //补贴
begin
Name:='addition_award';
DataType:=ftFloat;
Required:=true;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -