?? personnelnew.pas
字號:
unit personnelnew;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, ComCtrls, xpCheckBox, xpButton;
type
Tpersonnel_new = class(TForm)
Bevel1: TBevel;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
ComboBox1: TComboBox;
Label5: TLabel;
ComboBox2: TComboBox;
Label6: TLabel;
ComboBox3: TComboBox;
Label7: TLabel;
Edit4: TEdit;
Label8: TLabel;
date1: TDateTimePicker;
Label9: TLabel;
ComboBox4: TComboBox;
Label10: TLabel;
Edit5: TEdit;
ComboBox5: TComboBox;
Label14: TLabel;
Label15: TLabel;
xpButton2: TxpButton;
xpButton3: TxpButton;
Label19: TLabel;
memo1: TEdit;
date2: TDateTimePicker;
Label11: TLabel;
CheckBox1: TCheckBox;
Label25: TLabel;
CheckBox2: TCheckBox;
Label28: TLabel;
procedure FormPaint(Sender: TObject);
procedure xpButton3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ComboBox4Change(Sender: TObject);
procedure xpButton2Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure Edit4Exit(Sender: TObject);
procedure Label25Click(Sender: TObject);
procedure Label28Click(Sender: TObject);
procedure Edit13KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit7KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
procedure clearedit;
function checkinput:boolean;
procedure checksfz;
procedure autocreateevent;
{ Private declarations }
public
{ Public declarations }
end;
var
personnel_new: Tpersonnel_new;
implementation
uses sldata,shareunit;
{$R *.DFM}
procedure Tpersonnel_new.FormPaint(Sender: TObject);
begin
sl_data.formonpaint(self);
end;
procedure Tpersonnel_new.xpButton3Click(Sender: TObject);
begin
close;
end;
procedure Tpersonnel_new.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_new.clearedit;
begin
date1.DateTime:=date;
memo1.Text:='-';
edit1.text:='';
edit2.text:='';
edit3.text:='-';
edit4.text:='-';
edit5.text:='-';
combobox1.itemindex:=1;
combobox2.itemindex:=0;
combobox4.clear;
sl_data.getdeptlist(combobox4.items);
combobox3.itemindex:=0;
combobox4.itemindex:=0;
combobox4.OnChange(nil);
edit1.setfocus;
end;
function Tpersonnel_new.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_new.FormShow(Sender: TObject);
begin
clearedit;
end;
procedure Tpersonnel_new.ComboBox4Change(Sender: TObject);
begin
combobox5.Clear;
sl_data.getworktypelist(combobox5.items,combobox4.text);
combobox5.itemindex:=0;
end;
procedure Tpersonnel_new.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_add,msg) then
begin
autocreateevent;
showmessage('記錄添加成功!');
clearedit;
end;
end else showmessage('請輸入完整信息!');
end;
procedure Tpersonnel_new.autocreateevent;
var msg:string;
begin
if checkbox1.Checked then
begin
with tstringlist.Create do
try
add(makeparams('trepeat','單次提醒'));
add(makeparams('tinqt','4'));
add(makeparams('tuid',edit1.text));
add(makeparams('textday','7'));
add(makeparams('tfilter','月'));
add(makeparams('tremark',XorEncode(floattostr(pi),'試用期滿!')));
add(makeparams('tinure_date',datetostr(date1.date)));
msg:=text;
finally
free;
end;
sl_data.event_model(public_add,msg);
end;
if checkbox2.Checked then
begin
with tstringlist.Create do
try
add(makeparams('trepeat','循環提醒'));
add(makeparams('tinqt','1'));
add(makeparams('tuid',edit1.text));
add(makeparams('textday','7'));
add(makeparams('tfilter','年'));
add(makeparams('tremark',XorEncode(floattostr(pi),'生日!')));
add(makeparams('tinure_date',datetostr(date1.date)));
msg:=text;
finally
free;
end;
sl_data.event_model(public_add,msg);
end;
end;
procedure Tpersonnel_new.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_new.FormCreate(Sender: TObject);
begin
date1.DateTime:=now;
end;
procedure Tpersonnel_new.Edit4Exit(Sender: TObject);
begin
checksfz;
end;
procedure Tpersonnel_new.Label25Click(Sender: TObject);
begin
checkbox1.Checked:=not checkbox1.Checked;
end;
procedure Tpersonnel_new.Label28Click(Sender: TObject);
begin
checkbox2.Checked:=not checkbox2.Checked;
end;
procedure Tpersonnel_new.Edit13KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then xpbutton2.onClick(nil);
end;
procedure Tpersonnel_new.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 + -