📄 unit8.~pas
字号:
unit Unit8;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls, ToolWin, jpeg;
type
Tmoney_people = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
ComboBox2: TComboBox;
Label7: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit1: TEdit;
Edit2: TEdit;
DateTimePicker1: TDateTimePicker;
Edit3: TEdit;
Image1: TImage;
Label3: TLabel;
Label2: TLabel;
Label1: TLabel;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ComboBox3: TComboBox;
procedure ComboBox2Change(Sender: TObject);
procedure show();
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
money_people: Tmoney_people;
pase:string;
implementation
uses Unit3, Unit4, Unit5, Unit10, Unit1;
{$R *.dfm}
procedure Tmoney_people.ComboBox2Change(Sender: TObject);
begin
if ComboBox2.Text='基本信息' then base_people.ShowModal;
if ComboBox2.Text='考勤信息' then chuqing_people.ShowModal;
if ComboBox2.Text='奖惩信息' then jiangfa_people.ShowModal;
//if ComboBox17.Text='工资信息' then money_people.ShowModal;
end;
procedure Tmoney_people.show();
begin
if dm.TWages.Fields[5].AsString='1' then
begin
Image1.Visible:=false;
end
else
begin
Image1.Visible:=true;
end;
edit1.text:=dm.TWages.Fields[0].AsString;
edit2.text:=dm.TWages.Fields[1].AsString;
comboBox3.text:=dm.TWages.Fields[2].AsString;
DateTimePicker1.Date:=dm.TWages.Fields[3].AsDateTime;
edit3.text:=dm.TWages.Fields[4].AsString;
ToolButton1.Enabled:=true;
ToolButton2.Enabled:=true;
ToolButton3.Enabled:=true;
ToolButton4.Enabled:=true;
ToolButton5.Enabled:=true;
ToolButton6.Enabled:=true;
ToolButton7.Enabled:=false;
ToolButton8.Enabled:=true;
edit1.Enabled:=false;
edit2.Enabled:=false;
ComboBox3.Enabled:=false;
DateTimePicker1.Enabled:=false;
edit3.Enabled:=false;
if login_people.ComboBox1.ItemIndex=0 then
begin
ToolButton5.Enabled:=false;
ToolButton6.Enabled:=false;
ToolButton8.Enabled:=false;
end;
end;
procedure Tmoney_people.ToolButton2Click(Sender: TObject);
begin
if not dm.TWages.Bof then
begin
dm.TWages.Prior;
Show;
end
else showmessage('已是首记录');
end;
procedure Tmoney_people.ToolButton3Click(Sender: TObject);
begin
if not dm.TWages.eof then
begin
dm.TWages.Next;
Show;
end
else showmessage('已是尾记录');
end;
procedure Tmoney_people.ToolButton4Click(Sender: TObject);
begin
if not dm.TWages.eof then
begin
dm.TWages.Last;
Show;
end
else showmessage('已是尾记录');
end;
procedure Tmoney_people.ToolButton1Click(Sender: TObject);
begin
if not dm.TWages.Bof then
begin
dm.TWages.First;
Show;
end
else showmessage('已是首记录');
end;
procedure Tmoney_people.FormShow(Sender: TObject);
begin
show;
end;
procedure Tmoney_people.ToolButton9Click(Sender: TObject);
begin
close;
end;
procedure Tmoney_people.ToolButton5Click(Sender: TObject);
begin
pase:='1';
DateTimePicker1.Date:=now;
ToolButton1.Enabled:=false;
ToolButton2.Enabled:=false;
ToolButton3.Enabled:=false;
ToolButton4.Enabled:=false;
ToolButton5.Enabled:=false;
ToolButton6.Enabled:=false;
ToolButton7.Enabled:=true;
ToolButton8.Enabled:=false;
DateTimePicker1.Enabled:=true;
edit1.Enabled:=true;
edit2.Enabled:=true;
ComboBox3.Enabled:=true;
edit3.Enabled:=true;
end;
procedure Tmoney_people.ToolButton6Click(Sender: TObject);
begin
pase:='0';
ToolButton1.Enabled:=false;
ToolButton2.Enabled:=false;
ToolButton3.Enabled:=false;
ToolButton4.Enabled:=false;
ToolButton5.Enabled:=false;
ToolButton6.Enabled:=false;
DateTimePicker1.Enabled:=false;
ToolButton7.Enabled:=true;
ToolButton8.Enabled:=false;
edit1.Enabled:=true;
edit2.Enabled:=true;
ComboBox3.Enabled:=true;
edit3.Enabled:=true;
end;
procedure Tmoney_people.ToolButton7Click(Sender: TObject);
var str:string;
var a:string;
var b:string;
var c:string;
begin
if pase='1' then
begin
if (edit1.Text='') or (edit2.Text='') or ( ComboBox3.ItemIndex=-1) or (edit3.Text='')
then
begin
showmessage('信息不完整');
exit;
end;
//判断是否存在
with DM.QPerson do
begin
close;
sql.Clear;
sql.Add('select EMPID,EMPNAME,EMPDEPT from Person');
open;
end;
while not dm.QPerson.Eof do
begin
a:=dm.QPerson.Fields[0].AsString;
b:=dm.QPerson.Fields[1].AsString;
c:=dm.QPerson.Fields[2].AsString;
if (a=edit1.Text) and (b=edit2.Text)and (c=combobox3.Text)
then break;
dm.QPerson.Next;
end;
if dm.QPerson.Eof and (a<>edit1.Text) and (b<>edit2.Text)and (c<>combobox3.Text)
then
begin showmessage(' ');
exit;
end;
with dm.QWages do
begin
close;
sql.Clear;
sql.Add('select max(sno) from Wages');
open;
end;
str:=dm.QWages.Fields[0].AsString;
if str='' then
str:='00001'
else
begin
str:=inttostr(strtoint(str)+1);
while length(str)<5 do
str:='0'+str;
end;
//判断是否存在
with DM.QPerson do
begin
close;
sql.Clear;
sql.Add('select EMPID,EMPNAME,EMPDEPT from Person');
open;
end;
while not dm.QPerson.Eof do
begin
a:=dm.QPerson.Fields[0].AsString;
b:=dm.QPerson.Fields[1].AsString;
c:=dm.QPerson.Fields[3].AsString;
if ((a=edit1.Text) or (b=edit2.Text) or (c=combobox3.Text)) then
begin
showmessage('该员工不存在!');
exit;
end;
dm.QPerson.Next;
end;
with DM.QWages do
begin
close;
sql.Clear;
sql.Add('insert Wages values (:EMPID,:EMPNAME,:EMPDEPT,:WAGESDATE,:WAGES,:DELECT,:SNO)');
ParamByName('EMPID').AsString:=edit1.Text;
ParamByName('EMPNAME').AsString:=Edit2.Text;
ParamByName('EMPDEPT').AsString:=ComboBox3.Text;
ParamByName('WAGESDATE').AsDateTime:=strtodate(datetostr(DateTimePicker1.DateTime));
ParamByName('WAGES').AsFloat:=strtofloat(Edit3.Text);
ParamByName('DELECT').AsString:='1';
ParamByName('SNO').AsString:=str;
prepare;
execsql;
end;
with DM.TWages do
begin
close;
open;
end;
end;
if pase='0' then
begin
if (edit1.Text='') or (edit2.Text='') or ( ComboBox3.ItemIndex=-1) or (edit3.Text='')
then
begin
showmessage('信息不完整');
exit;
end;
with DM.QWages do
begin
close;
sql.Clear;
sql.Add('update Wages set WAGESDATE=:WAGESDATE,WAGES=:WAGES');
sql.Add('where sno=:sno');
ParamByName('sno').AsString:=dm.TWages.Fields[6].AsString;
ParamByName('WAGESDATE').AsDateTime:=DateTimePicker1.Date;
ParamByName('WAGES').AsFloat:=strtofloat(Edit3.Text);
prepare;
execsql;
end;
with DM.TWages do
begin
close;
open;
end;
end;
close;
end;
procedure Tmoney_people.ToolButton8Click(Sender: TObject);
begin
if messagebox (0,'请问是从数据库中删除(数据库中将无此记录,Yes),还是标记该记录为删除(数据库中仍有该记录,No)?','删除提示!',mb_yesno)=mryes
then
begin
with DM.QWages do
begin
close;
sql.Clear;
sql.Add('delete from Wages ');
sql.Add('where sno=:sno');
ParamByName('SNO').AsString:=DM.TWages.Fields[6].AsString;
prepare;
execsql;
end;
with DM.TWages do
begin
close;
open;
end;
showmessage('已将该记录从数据库中删除!');
end
else
begin
with DM.QWages do
begin
close;
sql.Clear;
sql.Add('update Wages set DELECT=:DELECT');
sql.Add('where sno=:sno');
ParamByName('sno').AsString:=DM.TWages.Fields[6].AsString;
ParamByName('DELECT').AsString:='0';
prepare;
execsql;
end;
with DM.TWages do
begin
close;
open;
end;
showmessage('已将该记录标记为删除!');
end;
close;
end;
procedure Tmoney_people.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in['0'..'9',#8])then key:=#0;
end;
procedure Tmoney_people.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if (key in[' '..'~'])then key:=#0;
end;
procedure Tmoney_people.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9','.',#8])then key:=#0;
if pos('.',edit3.Text)<>0 then
begin
if key in ['.'] then key:=#0;
if length(edit3.Text)-pos('.',edit3.Text)>=2 then
begin
if key in['0'..'9'] then key:=#0;
end;
end
else
begin
if length(edit3.Text)=0 then
begin
if key in ['.'] then
begin
key:=#0;
showmessage('第一位不能为小数点');
exit;
end;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -