ujsyxx_ed.pas
来自「很好的汽车管理系统 很实用的 谢谢合作」· PAS 代码 · 共 560 行
PAS
560 行
unit UJSYXX_ED;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, StdCtrls, ComCtrls, Buttons, ExtCtrls, ExtDlgs;
type
TJSYXX_ED = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
PageControl1: TPageControl;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label13: TLabel;
Label11: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
DateTimePicker1: TDateTimePicker;
Memo1: TMemo;
ComboBox1: TComboBox;
Label12: TLabel;
SpeedButton6: TSpeedButton;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
OpenPictureDialog1: TOpenPictureDialog;
DBImage1: TDBImage;
procedure DateTimePicker1Change(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
procedure Edit6KeyPress(Sender: TObject; var Key: Char);
procedure Edit7KeyPress(Sender: TObject; var Key: Char);
procedure Edit9KeyPress(Sender: TObject; var Key: Char);
procedure Edit10KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton6Click(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Edit4Change(Sender: TObject);
procedure Edit5Change(Sender: TObject);
procedure Edit6Change(Sender: TObject);
procedure Edit7Change(Sender: TObject);
procedure Edit9Change(Sender: TObject);
procedure Edit10Change(Sender: TObject);
procedure Edit11Change(Sender: TObject);
procedure Memo1Change(Sender: TObject);
procedure Edit11KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox1DropDown(Sender: TObject);
private
{ Private declarations }
public
procedure BH;
function cansave:boolean;
procedure GetAll;
procedure Posting;
procedure ENA;
procedure DIS;
procedure CLS;
procedure tr;
{ Public declarations }
end;
var
JSYXX_ED: TJSYXX_ED;
implementation
uses UMain, UDM, UJSYXX;
{$R *.dfm}
procedure TJSYXX_ED.tr;
var
i:integer;
begin
for i:=ComponentCount - 1 downto 0 do
if(Components[i] is TEdit) then
TEdit(Components[i]).Text:=trim(TEdit(Components[i]).Text);
end;
procedure TJSYXX_ED.BH;
var
s,m:string;
begin
with dm.QJSYXX do
begin
Close;
SQL.Clear;
SQL.Add('Select max(bh) as 编号 From JSYXX');
Open;
end;
if dm.ADODSJSYXX.FieldByName('bh').Value=null then
s:=s+'1'
else
begin
dm.ADODSJSYXX.Last;
m:=Trim(DM.ADODSJSYXX.Fieldbyname('bh').Value);
s:=inttostr(strtoint(m)+1);
end;
edit1.Text:=s;
end;
function TJSYXX_ED.CanSave: Boolean;
begin
if (Edit1.Text='') then
begin
Result:=False;
Application.MessageBox('编号不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
if (Edit2.Text='') then
begin
Result:=False;
Application.MessageBox('驾驶员姓名不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
if (ComboBox1.Text='') then
begin
Result:=False;
Application.MessageBox('驾驶员性别不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
if (Edit4.Text='') then
begin
Result:=False;
Application.MessageBox('驾驶员年龄不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
if (Edit5.Text='') then
begin
Result:=False;
Application.MessageBox('身份证号不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
if (Edit6.Text='') then
begin
Result:=False;
Application.MessageBox('驾驶证号不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
if (Edit7.Text='') then
begin
Result:=False;
Application.MessageBox('联系电话不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
if (Edit8.Text='') then
begin
Result:=False;
Application.MessageBox('请选择聘用时间!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
if (Edit9.Text='') then
begin
Result:=False;
Application.MessageBox('学历不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
if (Edit10.Text='') then
begin
Result:=False;
Application.MessageBox('实际驾龄不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
if (Edit11.Text='') then
begin
Result:=False;
Application.MessageBox('家庭住址不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
end;
procedure TJSYXX_ED.GetAll;//获得所有数据
begin
Edit1.Text:=DM.ADODSJSYXX.FieldByName('bh').AsString;
Edit2.Text:=DM.ADODSJSYXX.FieldByName('xm').AsString;
ComboBox1.Text:=DM.ADODSJSYXX.FieldByName('xb').AsString;
Edit4.Text:=DM.ADODSJSYXX.FieldByName('nl').AsString;
Edit5.Text:=DM.ADODSJSYXX.fieldByName('sfzh').AsString;
Edit6.Text:=DM.ADODSJSYXX.FieldByName('jszh').AsString;
Edit7.Text:=DM.ADODSJSYXX.FieldByName('lxdh').AsString;
Edit8.Text:=DM.ADODSJSYXX.FieldByName('pysj').AsString;
Edit9.Text:=DM.ADODSJSYXX.FieldByName('xl').AsString;
Edit10.Text:=DM.ADODSJSYXX.FieldByName('sjjl').AsString;
Edit11.Text:=DM.ADODSJSYXX.FieldByName('jtzz').AsString;
Memo1.Text:=DM.ADODSJSYXX.FieldByName('bz').AsString;
end;
procedure TJSYXX_ED.Posting;// 提交所有的数据
begin
if ActionCD='N' then
BEGIN
with DM.QJSYXX do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO JSYXX(xm,xb,nl,sfzh,jszh,lxdh,pysj,xl,sjjl,jtzz,bz,bh)');
SQL.Add('Values(:姓名,:性别,:年龄,:身份证号,:驾驶证号,:联系电话,:聘用时间,:学历,:实际驾龄,:家庭住址,:备注,:编号)');
Parameters.Items[0].Value:=Edit2.Text;
Parameters.Items[1].Value:=ComboBox1.Text;
Parameters.Items[2].Value:=Edit4.Text;
Parameters.Items[3].Value:=Edit5.Text;
Parameters.Items[4].Value:=Edit6.Text;
Parameters.Items[5].Value:=Edit7.Text;
Parameters.Items[6].Value:=Edit8.Text;
Parameters.Items[7].Value:=Edit9.Text;
Parameters.Items[8].Value:=Edit10.Text;
Parameters.Items[9].Value:=Edit11.Text;
Parameters.Items[10].Value:=Memo1.Text;
Parameters.Items[11].Value:=Edit1.Text;
Prepared:=True;
ExecSQL;
end;
END else
if ActionCD='M' then
begin
With DM.QJSYXX DO
begin
Close;
SQL.Clear;
SQL.Add('update JSYXX Set xm=:姓名,');
SQL.Add('xb=:性别,nl=:年龄,sfzh=:身份证号,jszh=:驾驶证号,'); //bh=:, id
SQL.Add('lxdh=:联系电话,pysj=:聘用时间,xl=:学历,sjjl=:实际驾龄,');
SQL.Add('jtzz=:家庭住址,bz=:备注 Where bh=:编号');
Parameters.Items[0].Value:=Edit2.Text;
Parameters.Items[1].Value:=ComboBox1.Text;
Parameters.Items[2].Value:=Edit4.Text;
Parameters.Items[3].Value:=Edit5.Text;
Parameters.Items[4].Value:=Edit6.Text;
Parameters.Items[5].Value:=Edit7.Text;
Parameters.Items[6].Value:=Edit8.Text;
Parameters.Items[7].Value:=Edit9.Text;
Parameters.Items[8].Value:=Edit10.Text;
Parameters.Items[9].Value:=Edit11.Text;
Parameters.Items[10].Value:=Memo1.Text;
Parameters.Items[11].Value:=DM.ADODSJSYXX.FieldByName('bh').AsString;
Prepared:=true;
ExecSQL;
end;
end;
end;
procedure TJSYXX_ED.ENA;//控件可用
var
i:integer;
begin
for i:=ComponentCount-1 downto 0 do
begin
if (Components[i] is TEdit) then
begin
TEdit(Components[i]).Color:=clWindow;
TEdit(Components[i]).ReadOnly:=False;
end;
if (Components[i] is TDateTimePicker)then
begin
TDateTimePicker(Components[i]).Color:=clWindow;
TDateTimePicker(Components[i]).Enabled:=true;
end;
end;
ComboBox1.Color:=clWindow;
ComboBox1.Enabled:=True;
DBImage1.Color:=clWindow;
DBImage1.ReadOnly:=True;
Memo1.Color := clWindow;
Memo1.ReadOnly := False;
SpeedButton1.Enabled:=False;//添加
SpeedButton2.Enabled:=False;//修改
SpeedButton3.Enabled:=True;//保存
SpeedButton4.Enabled:=True;//取消
Panel1.Enabled:=True;
end;
procedure TJSYXX_ED.DIS;//保存记录后使所有的控件不可用
var
i:integer;
begin
for i:=ComponentCount-1 downto 0 do
begin
if (Components[i] is Tedit) then
begin
TEdit(Components[i]).Color:=$00d8d8d8;
TEdit(Components[i]).ReadOnly:=true;
end;
if (Components[i] is TDateTimePicker)then
begin
TDateTimePicker(Components[i]).Color:=$00D8D8D8;
TDateTimePicker(Components[i]).Enabled:=false;
end;
end;
ComboBox1.Color:= $00D8D8D8;
ComboBox1.Enabled:=False;
DBImage1.Color:=$00D8D8D8;
DBImage1.ReadOnly:=False;
Memo1.Color := $00D8D8D8;
Memo1.ReadOnly := true;
SpeedButton1.Enabled:=True;//新增
SpeedButton2.Enabled:=True;//修改
SpeedButton3.Enabled:=False;//保存
SpeedButton4.Enabled:=False;//取消
Panel1.Enabled:=False;
end;
procedure TJSYXX_ED.CLS;//清除控件中的所有内容
var
i:integer;
begin
for i:=ComponentCount-1 downto 0 do
begin
if(Components[i] is tedit) then
TEdit(Components[i]).Clear;
end;
Memo1.Clear;
end;
procedure TJSYXX_ED.DateTimePicker1Change(Sender: TObject);
begin
Edit8.Text:=DateToStr(DateTimePicker1.Date);
end;
procedure TJSYXX_ED.SpeedButton5Click(Sender: TObject);
begin
DIS;
ActionCD:='';
Close;
end;
procedure TJSYXX_ED.FormCreate(Sender: TObject);
begin
with DM.QJSYXX do
begin
Close;
SQL.Clear;
SQL.Add('select * from JSYXX');
Open;
end;
end;
procedure TJSYXX_ED.FormShow(Sender: TObject);
begin
DIS;
if ActionCD = 'M' then
GetAll
else if ActionCD = 'N' then
begin
CLS;
ENA;
end;
dm.ADODSJSYXX.Open;
if ComboBox1.Text<>'' then
ComboBox1.Text:=DM.ADODSJSYXX.FIELDBYNAME('XB').Value
else
ComboBox1.Text:=Trim(ComboBox1.Text);
DateTimePicker1.Date:=StrToDate(Edit8.Text);
end;
procedure TJSYXX_ED.SpeedButton1Click(Sender: TObject);
begin
CLS;
ENA;
ComboBox1.Clear;
DateTimePicker1.Date:=now;
ActionCD := 'N';
bh;
Edit2.SetFocus;
end;
procedure TJSYXX_ED.SpeedButton2Click(Sender: TObject);
begin
ENA;
ACtionCD := 'M';
end;
procedure TJSYXX_ED.SpeedButton3Click(Sender: TObject);
begin
if (cansave) then
begin
Posting;
DIS;
Application.MessageBox('保存成功!','提示!',64);
DM.ADODSJSYXX.Close;
DM.ADODSJSYXX.Open;
actioncd:='';
JSYXX_ED.Close;
end;
end;
procedure TJSYXX_ED.SpeedButton4Click(Sender: TObject);
begin
DIS;
ActionCD:='';
JSYXX_ED.GetAll;
end;
procedure TJSYXX_ED.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if (key in['0'..'9','a'..'z','A'..'Z',#46]) then
key:=#0;
if key=#13 then
ComboBox1.SetFocus;
end;
procedure TJSYXX_ED.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',#8,#13]) then
key:=#0;
if key=#13 then
Edit5.SetFocus;
end;
procedure TJSYXX_ED.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',#8,#13]) then
key:=#0;
if key=#13 then
Edit6.SetFocus;
end;
procedure TJSYXX_ED.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',#8,#13]) then
key:=#0;
if key=#13 then
Edit7.SetFocus;
end;
procedure TJSYXX_ED.Edit7KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9','-',#8,#13]) then
key:=#0;
if key=#13 then
DateTimePicker1.SetFocus;
end;
procedure TJSYXX_ED.Edit9KeyPress(Sender: TObject; var Key: Char);
begin
if (key in['0'..'9','a'..'z','A'..'Z',#46]) then
key:=#0;
if key=#13 then
Edit10.SetFocus;
end;
procedure TJSYXX_ED.Edit10KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9','.',#8,#13]) then
key:=#0;
if key=#13 then
Edit11.SetFocus;
end;
procedure TJSYXX_ED.SpeedButton6Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
try
DM.ADODSJSYXX.Edit;
DBImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
DM.ADODSJSYXX.FieldByName('zp').Assign(DBImage1.Picture);
finally
DM.ADODSJSYXX.Post;
end;
end;
procedure TJSYXX_ED.Edit2Change(Sender: TObject);
begin
tr
end;
procedure TJSYXX_ED.Edit4Change(Sender: TObject);
begin
tr
end;
procedure TJSYXX_ED.Edit5Change(Sender: TObject);
begin
tr
end;
procedure TJSYXX_ED.Edit6Change(Sender: TObject);
begin
tr
end;
procedure TJSYXX_ED.Edit7Change(Sender: TObject);
begin
tr
end;
procedure TJSYXX_ED.Edit9Change(Sender: TObject);
begin
tr
end;
procedure TJSYXX_ED.Edit10Change(Sender: TObject);
begin
tr
end;
procedure TJSYXX_ED.Edit11Change(Sender: TObject);
begin
tr
end;
procedure TJSYXX_ED.Memo1Change(Sender: TObject);
begin
Memo1.Text:=trim(Memo1.Text);
end;
procedure TJSYXX_ED.Edit11KeyPress(Sender: TObject; var Key: Char);
begin
if (key in['a'..'z',#46]) then
key:=#0;
if key=#13 then
memo1.SetFocus;
end;
procedure TJSYXX_ED.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#8,#13]) then
key:=#0;
if key=#13 then
Edit4.SetFocus;
end;
procedure TJSYXX_ED.DateTimePicker1KeyPress(Sender: TObject;
var Key: Char);
begin
if key=#13 then
Edit9.SetFocus;
end;
procedure TJSYXX_ED.ComboBox1DropDown(Sender: TObject);
begin
ComboBox1.Items.Add('男');
ComboBox1.Items.Add('女');
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?