📄 uygjbxx.pas
字号:
unit UYGJBXX;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, ToolWin, ComCtrls, Grids, DBGrids;
type
TFRM_YGJBXX = class(TForm)
ToolBar1: TToolBar;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
Panel1: TPanel;
SpeedButton6: TSpeedButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit1: TEdit;
Edit2: TEdit;
ComboBox1: TComboBox;
Edit3: TEdit;
ComboBox2: TComboBox;
Edit4: TEdit;
Edit5: TEdit;
Panel2: TPanel;
DBGrid1: TDBGrid;
procedure SpeedButton6Click(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 SpeedButton5Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox2DropDown(Sender: TObject);
procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
private
{ Private declarations }
public
procedure bh; //自动编号
Procedure GetAll; //获得所有数据
Procedure Posting; //提交数据
Procedure CLS; //清除控件中内容
Procedure DIS; //控件不可用
Procedure ENA; //控件可用
{ Public declarations }
end;
var
FRM_YGJBXX: TFRM_YGJBXX;
implementation
uses UDM, UMAIN, UBMJBXX;
{$R *.dfm}
procedure TFRM_YGJBXX.bh;
var
i:integer;
s,m:string;
begin
s:= 'YG';
With DM.QYGJBXX do
begin
Close;
SQL.Clear;
SQL.Add('select max(员工编号) as ss From 员工信息表');
Open;
end;
If DM.QYGJBXX.FieldByName('ss').Value=null then
s := s + '00001'
else
begin
m:= Trim(DM.QYGJBXX.FieldByName('ss').Value) ;
i:= StrToint(Trim(Copy(m,3,7)))+1 ;
// s:= s +Formatfloat('000000',StrToFloat(Trim(Copy(m,3,7)))+1);
s:= s +Formatfloat('000000',i);
end;
Edit1.Text := s;
end;
procedure TFRM_YGJBXX.GetAll;
begin
if DM.DSOYGJBXX.FieldByName('员工编号').AsString<>'' then Edit1.Text:=DM.DSOYGJBXX.FieldByName('员工编号').AsString;
if DM.DSOYGJBXX.FieldByName('员工姓名').AsString<>'' then Edit2.Text:=DM.DSOYGJBXX.FieldByName('员工姓名').AsString;
if DM.DSOYGJBXX.FieldByName('员工性别').AsString<>'' then ComboBox1.Text:=DM.DSOYGJBXX.FieldByName('员工性别').AsString;
if DM.DSOYGJBXX.FieldByName('员工部门').AsString<>'' then ComboBox2.Text:=DM.DSOYGJBXX.FieldByName('员工部门').AsString;
if DM.DSOYGJBXX.FieldByName('员工职务').AsString<>'' then Edit3.Text:=DM.DSOYGJBXX.FieldByName('员工职务').AsString;
if DM.DSOYGJBXX.FieldByName('联系电话').AsString<>'' then Edit4.Text:=DM.DSOYGJBXX.FieldByName('联系电话').AsString;
if DM.DSOYGJBXX.FieldByName('备注').AsString<>'' then Edit5.Text:=DM.DSOYGJBXX.FieldByName('备注').AsString;
end;
procedure TFRM_YGJBXX.Posting;
begin
if ActionCD='N' then
BEGIN
with DM.QYGJBXX do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO 员工信息表(员工编号,员工姓名,员工性别,员工部门,员工职务,联系电话,备注)');
SQL.Add('Values(:员工编号,:员工姓名,:员工性别,:员工职务,:员工部门,:联系电话,:备注)');
Parameters.Items[0].Value:=Edit1.Text;
Parameters.Items[1].Value:=Edit2.Text;
Parameters.Items[2].Value:=ComboBox1.Text;
Parameters.Items[3].Value:=ComboBox2.Text;
Parameters.Items[4].Value:=Edit3.Text;
Parameters.Items[5].Value:=Edit4.Text;
Parameters.Items[6].Value:=Edit5.Text;
Prepared:=True;
ExecSQL;
end;
END else
if ActionCD='M' then
begin
With DM.QYGJBXX DO
begin
Close;
SQL.Clear;
SQL.Add('update 员工信息表 Set 员工姓名=:员工姓名1,员工性别=:员工性别1,员工部门=:员工部门1,员工职务=:员工职务1,联系电话=:联系电话1,备注=:备注1 where 员工编号=:员工编号1');
Parameters.Items[0].Value:=Edit2.Text;
Parameters.Items[1].Value:=ComboBox1.Text;
Parameters.Items[2].Value:=ComboBox2.Text;
Parameters.Items[3].Value:=Edit3.Text;
Parameters.Items[4].Value:=Edit4.Text;
Parameters.Items[5].Value:=Edit5.Text;
Parameters.Items[6].Value:=DM.DSOYGJBXX.FieldByName('员工编号').AsString;
Prepared:=true;
ExecSQL;
end;
end;
end;
procedure TFRM_YGJBXX.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;
end;
ComboBox1.Color:=clWindow;
ComboBox2.Color:=clWindow;
SpeedButton1.Enabled:=False;
SpeedButton2.Enabled:=False;
SpeedButton3.Enabled:=True;
SpeedButton4.Enabled:=False;
Panel1.Enabled:=True;
end;
procedure TFRM_YGJBXX.DIS;
var
i:integer;
begin
for i:=ComponentCount-1 downto 0 do
begin
if (Components[i] is Tedit) then
begin
TEdit(Components[i]).Color:=$00EFEFEF;
TEdit(Components[i]).ReadOnly:=true;
end;
end;
ComboBox1.Color:=$00EFEFEF;
ComboBox2.Color:=$00EFEFEF;
SpeedButton1.Enabled:=True;
SpeedButton2.Enabled:=True;
SpeedButton3.Enabled:=False;
SpeedButton4.Enabled:=False;
Panel1.Enabled:=False;
end;
procedure TFRM_YGJBXX.CLS;
var
i:integer;
begin
for i:=ComponentCount-1 downto 0 do
begin
if(Components[i] is TEdit) then
TEdit(Components[i]).Clear;
end;
ComboBox2.Clear;
end;
/////////////////////////////////////////////////////////
procedure TFRM_YGJBXX.SpeedButton6Click(Sender: TObject);
begin
ACtionCD:='';
Close;
end;
procedure TFRM_YGJBXX.FormCreate(Sender: TObject);
begin
with DM.QYGJBXX do
begin
Close;
SQL.Clear;
SQL.Add('Select * from 员工信息表');
Open;
end;
DM.DSOYGJBXX.Open;
end;
procedure TFRM_YGJBXX.FormShow(Sender: TObject);
begin
DIS;
if ActionCD = 'M' then
GetAll
else if ActionCD = 'N' then
begin
CLS;
ENA;
end;
// ComboBox2.Text:=DM.QYGJBXX.FieldByName('员工部门').Value;
end;
procedure TFRM_YGJBXX.SpeedButton1Click(Sender: TObject);
begin
CLS;
ENA;
ActionCD := 'N';
bh;
Edit2.SetFocus;
end;
procedure TFRM_YGJBXX.SpeedButton2Click(Sender: TObject);
begin
ENA;
SpeedButton4.Enabled:=True;
ACtionCD := 'M';
end;
procedure TFRM_YGJBXX.SpeedButton3Click(Sender: TObject);
begin
if Edit1.Text='' then
begin
Application.MessageBox('员工编号不能为空!','提示!',64);
Edit1.SetFocus;
Exit;
end;
if Edit2.Text='' then
begin
Application.MessageBox('员工姓名不能为空!','提示!',64);
Edit2.SetFocus;
Exit;
end;
if ComboBox1.Text='' then
begin
Application.MessageBox('员工性别不能为空!','提示!',64);
ComboBox1.SetFocus;
Exit;
end;
if COmboBox2.Text='' then
begin
Application.MessageBox('员工部门不能为空!','提示!',64);
ComboBox2.SetFocus;
Exit;
end;
if Edit3.Text='' then
begin
Application.MessageBox('员工职务不能为空!','提示!',64);
Edit3.SetFocus;
Exit;
end;
if Edit4.Text='' then
begin
Application.MessageBox('联系电话不能为空!','提示!',64);
Edit4.SetFocus;
Exit;
end;
Posting;
DIS;
DM.DSOYGJBXX.Close;
DM.DSOYGJBXX.Open;
Application.MessageBox('保存成功!','提示!',64);
actioncd:='';
self.Close;
end;
procedure TFRM_YGJBXX.SpeedButton4Click(Sender: TObject);
begin
if DM.DSOYGJBXX.RecordCount=0 then
begin
Application.MessageBox('没有记录可以删除!','提示',0+MB_ICONINFORMATION);
Exit;
end;
if DM.DSOYGJBXX.IsEmpty then
Exit;
if ID_YES=application.MessageBox('确实要删除这条记录吗?','提示',MB_YESNO) then
begin
DM.DSOYGJBXX.Delete;
self.OnShow(Sender);
end;
end;
procedure TFRM_YGJBXX.SpeedButton5Click(Sender: TObject);
begin
DIS;
SpeedButton4.Enabled:=False;
FRM_YGJBXX.GetAll;
ActionCD:='';
end;
procedure TFRM_YGJBXX.DBGrid1CellClick(Column: TColumn);
begin
GetAll;
end;
procedure TFRM_YGJBXX.DBGrid1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
GetAll;
end;
procedure TFRM_YGJBXX.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#8,#13]) then
key:=#0;
if key=#13 then
ComboBox2.SetFocus;
end;
procedure TFRM_YGJBXX.ComboBox2DropDown(Sender: TObject);
var
i:integer;
begin
ComboBox2.Clear;
With DM.QBMJBXX do
begin
CLose;
SQL.Clear;
SQL.Add('Select 部门名称 from 部门信息表');
Open;
if (Recordcount>0) then
First;
for i:=0 to Recordcount-1 do
begin
ComboBox2.Items.Add(FieldByName('部门名称').AsString);
Next;
end;
end;
end;
procedure TFRM_YGJBXX.ComboBox2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#8,#13]) then
key:=#0;
if key=#13 then
Edit3.SetFocus;
end;
procedure TFRM_YGJBXX.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
key:=#0;
end;
procedure TFRM_YGJBXX.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
{ if key in ['0'..'9','a'..'z','A'..'Z'] then
key:=#0;
if key=#13 then
ComboBox1.SetFocus; }
end;
procedure TFRM_YGJBXX.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if key in ['0'..'9','a'..'z','A'..'Z'] then
key:=#0;
if key=#13 then
Edit4.SetFocus;
end;
procedure TFRM_YGJBXX.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 TFRM_YGJBXX.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
FRM_MAIN.SetDBGird(Sender as TDBGrid,DM.QYGJBXX ,Rect,DataCol,Column,State);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -