📄 gzb1.pas
字号:
unit gzb1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls, DBCtrls, DB, DBTables, Buttons,shellapi,
Grids, DBGrids;
type
Tgzb = class(TForm)
Label5: TLabel;
Label4: TLabel;
Label3: TLabel;
Label2: TLabel;
Label1: TLabel;
Edit6: TEdit;
Edit4: TEdit;
Edit3: TEdit;
Edit2: TEdit;
DataSource1: TDataSource;
gzb: TTable;
DBNavigator1: TDBNavigator;
gzbBDEDesigner: TStringField;
gzbBDEDesigner2: TStringField;
gzbBDEDesigner3: TStringField;
gzbBDEDesigner4: TStringField;
gzbBDEDesigner5: TStringField;
button7: TSpeedButton;
button1: TSpeedButton;
Button4: TSpeedButton;
Button5: TSpeedButton;
button6: TSpeedButton;
Button3: TSpeedButton;
button2: TSpeedButton;
bitbtn1: TSpeedButton;
zgb: TTable;
zgbBDEDesigner: TStringField;
zgbBDEDesigner2: TStringField;
zgbBDEDesigner3: TStringField;
zgbBDEDesigner4: TStringField;
zgbBDEDesigner5: TStringField;
zgbDate: TDateField;
ComboBox1: TComboBox;
Label6: TLabel;
Label7: TLabel;
zgb1: TTable;
zcb: TTable;
bmb: TTable;
DataSource2: TDataSource;
zcbBDEDesigner: TStringField;
zcbJg: TStringField;
bmbBDEDesigner: TStringField;
bmbBDEDesigner2: TStringField;
zgb1BDEDesigner: TStringField;
zgb1BDEDesigner2: TStringField;
zgb1BDEDesigner3: TStringField;
zgb1BDEDesigner4: TStringField;
zgb1BDEDesigner5: TStringField;
zgb1Date: TDateField;
Speed1: TSpeedButton;
procedure Button6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
procedure Button1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
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 FormShow(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit6KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure hint_buttonClick(Sender: TObject);
procedure Label7MouseEnter(Sender: TObject);
procedure Label7MouseLeave(Sender: TObject);
procedure Speed1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
gzb: Tgzb;
f,flag:integer;
implementation
uses zgb1,quan, hint1;
{$R *.dfm}
procedure Tgzb.Button6Click(Sender: TObject);
begin
flag:=1;
if button5.Enabled=true then
if application.MessageBox('关闭前的操作未保存,要保存吗?保存则按确定,否则按取消','关闭',mb_okcancel+mb_iconquestion)=idok then
button5.Click;
button3.Enabled:=false;
button5.Enabled:=false;
button1.Enabled:=true;
button2.Enabled:=true;
button4.Enabled:=true;
close;
end;
procedure Tgzb.FormCreate(Sender: TObject);
begin
flag:=0;
gzb.Active:=false;
gzb.DatabaseName:=s;
gzb.TableName:='gzb.db';
gzb.Active:=true;
zgb.Active:=false;
zgb.DatabaseName:=s;
zgb.TableName:='zgb.db';
zgb.Active:=true;
edit2.ReadOnly:=true;
edit3.ReadOnly:=true;
edit4.ReadOnly:=true;
edit6.ReadOnly:=true;
button3.Enabled:=false;
button5.Enabled:=false;
button1.Enabled:=true;
button2.Enabled:=true;
button4.Enabled:=true;
DBNavigator1.Enabled:=true;
end;
procedure Tgzb.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
begin
combobox1.Visible:=false;
label1.Caption:='姓名';
label6.Visible:=true;
label6.Caption:=qu.cf( zgb.fieldbyname('姓名').asstring);
edit2.Text:=qu.cf( gzb.fieldbyname('旷工').asstring);
edit3.Text:=qu.cf( gzb.fieldbyname('迟到').asstring);
edit4.Text:=qu.cf( gzb.fieldbyname('事假').asstring);
edit6.Text:=qu.cf( gzb.fieldbyname('奖金').asstring);
end;
procedure Tgzb.Button1Click(Sender: TObject);
var i:integer;
st:string;
begin
speed1.Enabled:=false;
label1.Caption:='职工编号';
label6.Visible:=false;
combobox1.Visible:=true;
combobox1.Clear;
zgb1.Active:=false;
zgb1.DatabaseName:=s;
zgb1.TableName:='zgb.db';
zgb1.Active:=true;
zgb1.First;
for i:=0 to zgb1.RecordCount-1 do
begin
st:=zgb1.fieldbyname('职工编号').AsString;
if not gzb.FindKey([st]) then
combobox1.Items.Add(qu.cf(zgb1.fieldbyname('职工编号').AsString));
zgb1.Next;
end;
f:=0;
combobox1.Text:='';
edit2.Text:='0';
edit3.Text:='0';
edit4.Text:='0';
edit6.Text:='0';
combobox1.Enabled:=true;
edit2.ReadOnly:=false;
edit3.ReadOnly:=false;
edit4.ReadOnly:=false;
edit6.ReadOnly:=false;
combobox1.SetFocus;
button2.Enabled:=false;
button4.Enabled:=false;
button1.Enabled:=false;
button3.Enabled:=true;
button5.Enabled:=true;
DBNavigator1.Enabled:=false;
end;
procedure Tgzb.Button5Click(Sender: TObject);
var st:string;
begin
speed1.Enabled:=true;
st:=qu.cf(combobox1.Text);
if strtoint(edit2.Text)>30 then
begin
if application.MessageBox('旷工次数不可超过30!','错误!',mb_okcancel+mb_iconinformation)=idok then
begin
edit2.SetFocus;
exit;
end
else
begin
button3.Click;
exit;
end;
end
else
if strtoint(edit3.Text)>30 then
begin
if application.MessageBox('迟到次数不可超过30!','错误!',mb_okcancel+mb_iconinformation)=idok then
begin
edit3.SetFocus;
exit;
end
else
begin
button3.Click;
exit;
end;
end
else
if strtoint(edit4.Text)>30 then
begin
if application.MessageBox('事假次数不可超过30!','错误!',mb_okcancel+mb_iconinformation)=idok then
begin
edit4.SetFocus;
exit;
end
else
begin
button3.Click;
exit;
end;
end;
DBNavigator1.Enabled:=true;
gzb.First;
if f=0 then
begin
gzb.SetKey;
gzb.fieldbyname('职工编号').asstring:=qu.cf( combobox1.Text);
if (gzb.GotoKey) or (combobox1.text='') then
begin
application.MessageBox('此编号已存在或编号为空','信息',mb_ok+mb_iconinformation);
button3.Click;
exit;
end;
if not zgb1.FindKey([st]) then
begin
if application.MessageBox('数据库中查无此人,如果想添加请先在"职工管理"窗口中添加有关信息,若继续输入请按"确定"否则"取消"本次操作','信息',mb_okcancel+mb_iconinformation)=idok then
begin
combobox1.SetFocus;
exit;
end
else
begin
button3.Click;
exit;
end;
end;
gzb.Active:=true;
gzb.Insert;
gzb.fieldbyname('职工编号').asstring:=qu.cf( combobox1.Text);
if edit2.Text='' then
edit2.Text:='0';
gzb.fieldbyname('旷工').asstring:=qu.cf( inttostr(strtoint(edit2.Text)));
if edit3.Text='' then
edit3.Text:='0';
gzb.fieldbyname('迟到').asstring:=qu.cf( inttostr(strtoint(edit3.Text)));
if edit4.Text='' then
edit4.Text:='0';
gzb.fieldbyname('事假').asstring:=qu.cf( inttostr(strtoint(edit4.Text)));
if edit6.Text='' then
edit6.Text:='0';
gzb.fieldbyname('奖金').asstring:=qu.cf( inttostr(strtoint(edit6.Text)));
gzb.Post;
gzb.Active:=true;
combobox1.Visible:=false;
label6.Visible:=true;
label1.Caption:='姓名';
label6.Caption:=qu.cf( zgb.fieldbyname('姓名').asstring);
edit2.Text:=qu.cf( gzb.fieldbyname('旷工').asstring);
edit3.Text:=qu.cf( gzb.fieldbyname('迟到').asstring);
edit4.Text:=qu.cf( gzb.fieldbyname('事假').asstring);
edit6.Text:=qu.cf( gzb.fieldbyname('奖金').asstring);
end
else
begin
gzb.Edit;
if edit2.Text='' then
edit2.Text:='0';
gzb.fieldbyname('旷工').asstring:=qu.cf( inttostr(strtoint(edit2.Text)));
if edit3.Text='' then
edit3.Text:='0';
gzb.fieldbyname('迟到').asstring:=qu.cf( inttostr(strtoint(edit3.Text)));
if edit4.Text='' then
edit4.Text:='0';
gzb.fieldbyname('事假').asstring:=qu.cf( inttostr(strtoint(edit4.Text)));
if edit6.Text='' then
edit6.Text:='0';
gzb.fieldbyname('奖金').asstring:=qu.cf( inttostr(strtoint(edit6.Text)));
gzb.Post;
end;
combobox1.Enabled:=false;
edit2.ReadOnly:=true;
edit3.ReadOnly:=true;
edit4.ReadOnly:=true;
edit6.ReadOnly:=true;
button1.Enabled:=true;
button2.Enabled:=true;
button4.Enabled:=true;
button3.Enabled:=false;
button5.Enabled:=false;
if gzb.RecordCount>0 then
button7.Enabled:=true;
end;
procedure Tgzb.Button2Click(Sender: TObject);
begin
f:=1;
DBNavigator1.Enabled:=true;
button1.Enabled:=false;
button2.Enabled:=false;
button3.Enabled:=true;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -