📄 personneledit.pas
字号:
unit personneledit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, xpButton, ComCtrls, ExtCtrls;
type
Tpersonnel_edit = class(TForm)
xpButton2: TxpButton;
xpButton3: TxpButton;
Bevel1: TBevel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label14: TLabel;
Label15: TLabel;
Label19: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
Edit4: TEdit;
date1: TDateTimePicker;
ComboBox4: TComboBox;
Edit5: TEdit;
ComboBox5: TComboBox;
memo1: TEdit;
date2: TDateTimePicker;
Label11: TLabel;
xpButton1: TxpButton;
procedure FormPaint(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ComboBox4Change(Sender: TObject);
procedure xpButton3Click(Sender: TObject);
procedure xpButton2Click(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure Edit4Exit(Sender: TObject);
procedure xpButton1Click(Sender: TObject);
procedure Edit7KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
procedure clearedit;
procedure showinfo;
function checkinput:boolean;
procedure checksfz;
{ Private declarations }
public
{ Public declarations }
end;
var
personnel_edit: Tpersonnel_edit;
implementation
uses sldata,shareunit,eventunit;
{$R *.DFM}
procedure Tpersonnel_edit.FormPaint(Sender: TObject);
begin
sl_data.formonpaint(self);
end;
procedure tpersonnel_edit.clearedit;
begin
date1.DateTime:=date;
memo1.Text:='-';
edit1.text:='';
edit2.text:='';
edit3.text:='-';
edit4.text:='-';
edit5.text:='-';
combobox1.itemindex:=1;
combobox2.itemindex:=0;
combobox3.itemindex:=0;
combobox4.itemindex:=0;
combobox4.OnChange(nil);
edit1.setfocus;
end;
procedure tpersonnel_edit.showinfo;
var msg:string;
begin
if edit1.text<>'' then
begin
with tstringlist.create do
try
add(makeparams('operid',inttostr(Query_Parchives)));
add(makeparams('funid',inttostr(public_list_ex03)));
add(makeparams('tuid',edit1.text));
msg:=text;
finally
free;
end;
sl_data.querys.data:=sl_data.querys.DataRequest(msg);
if sl_data.querys.recordcount=1 then
begin
edit2.text:=sl_data.querys['name']; //姓名
edit3.text:=sl_data.querys['tel']; //电话
edit4.text:=sl_data.querys['idcard']; //身份证
edit5.text:=sl_data.querys['area']; //籍贯
memo1.text:=sl_data.querys['remark']; //备注
combobox1.itemindex:=combobox1.items.indexof(sl_data.querys['sex']); //性别
combobox2.itemindex:=combobox2.items.indexof(sl_data.querys['school']); //学历
combobox3.itemindex:=combobox3.items.indexof(sl_data.querys['marriage']); //婚姻状况
combobox4.itemindex:=combobox4.items.indexof(sl_data.querys['dept']); //部门
combobox4.OnChange(nil);
combobox5.itemindex:=combobox5.items.indexof(sl_data.querys['work_type']); //工种
date1.Date:=sl_data.querys['start_date']; //进厂日期
date2.date:=sl_data.querys['birthday']; //出生年月
end else showmessage('该工号不存在.');
end;
end;
procedure Tpersonnel_edit.FormShow(Sender: TObject);
begin
clearedit;
end;
procedure Tpersonnel_edit.ComboBox4Change(Sender: TObject);
begin
combobox5.Clear;
sl_data.getworktypelist(combobox5.items,combobox4.text);
combobox5.itemindex:=0;
end;
procedure Tpersonnel_edit.xpButton3Click(Sender: TObject);
begin
close;
end;
function Tpersonnel_edit.checkinput:boolean;
var x:string;
begin
x:='000000000000';
if edit1.text<>'' then x[1]:='1' else showmessage('工号不能为空.');
if edit2.text<>'' then x[2]:='1' else showmessage('姓名不能为空.');
if edit3.text<>'' then x[3]:='1' else showmessage('联系电话不能为空.');
if edit4.text<>'' then x[4]:='1' else showmessage('身份证不能为空.');
if edit5.text<>'' then x[5]:='1' else showmessage('籍贯不能为空.');
if combobox4.text<>'' then x[11]:='1' else showmessage('部门不能为空.');
if combobox5.text<>'' then x[12]:='1' else showmessage('工种不能为空.');
result:=x='111111111111';
if not result then showmessage('资料必需输入完整.');
end;
procedure Tpersonnel_edit.xpButton2Click(Sender: TObject);
var msg:string;
begin
if checkinput then
begin
with tstringlist.create do
try
add(makeparams('tuid',edit1.text));
add(makeparams('tname',edit2.text));
add(makeparams('ttel',edit3.text));
add(makeparams('tidcard',edit4.text));
add(makeparams('tarea',edit5.text));
add(makeparams('tbirthday',datetostr(date2.date)));
add(makeparams('tstart_date',datetostr(date1.date)));
add(makeparams('tremark',memo1.text));
add(makeparams('tsex',combobox1.text));
add(makeparams('tschool',combobox2.text));
add(makeparams('tmarriage',combobox3.text));
add(makeparams('tdept',combobox4.text));
add(makeparams('twork_type',combobox5.text));
msg:=text;
finally
free;
end;
if sl_data.Parchives_model(public_modify,msg) then
begin
showmessage('记录修改成功!');
clearedit;
end;
end else showmessage('请输入完整信息!');
end;
procedure Tpersonnel_edit.checksfz;
var s:String;
begin
if length(edit4.text)=18 then
begin
s:=copy(edit4.text,1,6);
edit5.text:=sl_data.sfztosheng(s);
s:=copy(edit4.text,17,1);
combobox1.itemindex:=strtoint(s) mod 2;
s:=copy(edit4.text,7,4)+'-'+
copy(edit4.text,11,2)+'-'+
copy(edit4.text,13,2);
date2.Date:=strtodate(s);
end;
if length(edit4.text)=15 then
begin
s:=copy(edit4.text,1,6);
edit5.text:=sl_data.sfztosheng(s);
s:=copy(edit4.text,15,1);
combobox1.itemindex:=strtoint(s) mod 2;
s:='19'+copy(edit4.text,7,2)+'-'+
copy(edit4.text,9,2)+'-'+
copy(edit4.text,11,2);
date2.Date:=strtodate(s);
end;
end;
procedure Tpersonnel_edit.Edit1Exit(Sender: TObject);
begin
showinfo;
end;
procedure Tpersonnel_edit.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If Key = #13 Then
Begin
If HiWord(GetKeyState(VK_SHIFT)) <> 0 then
SelectNext(Sender as TWinControl,False,True)
else
SelectNext(Sender as TWinControl,True,True);
Key := #0
end;
end;
procedure Tpersonnel_edit.FormCreate(Sender: TObject);
begin
date1.date:=date;
combobox4.clear;
sl_data.getdeptlist(combobox4.items);
end;
procedure Tpersonnel_edit.Edit4Exit(Sender: TObject);
begin
checksfz;
end;
procedure Tpersonnel_edit.xpButton1Click(Sender: TObject);
begin
with tevent.create(nil) do
try
showmodal;
finally
free;
end;
end;
procedure Tpersonnel_edit.Edit7KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if not ((key in[96..105])or(key in[48..57])or(key in[8,13,110,190])) then
begin
showmessage('不是有效的字符.请重新输入.');
tedit(sender).Clear;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -