📄 unit23.pas
字号:
unit Unit23;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, ExtCtrls, Grids, DBGrids, StdCtrls, ComCtrls;
type
TF_comp = class(TForm)
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
Panel2: TPanel;
Splitter1: TSplitter;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
DateTimePicker1: TDateTimePicker;
Label6: TLabel;
DateTimePicker2: TDateTimePicker;
Label7: TLabel;
Edit5: TEdit;
Label8: TLabel;
Edit6: TEdit;
Label9: TLabel;
Edit7: TEdit;
Label10: TLabel;
ComboBox1: TComboBox;
Label11: TLabel;
ComboBox2: TComboBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
DBGrid1: TDBGrid;
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
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 DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DateTimePicker2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit5KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit6KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit7KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ComboBox2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button3Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
punum:string;
end;
var
F_comp: TF_comp;
change:boolean;
implementation
uses unit11, Unit24;
{$R *.dfm}
procedure TF_comp.FormShow(Sender: TObject);
var
i:integer;
begin
speedbutton1.Enabled :=true;
speedbutton2.Enabled :=true;
speedbutton3.Enabled :=true;
edit1.Enabled :=false;
edit2.Enabled :=false;
edit3.Enabled :=false;
edit4.Enabled :=false;
edit5.Enabled :=false;
edit6.Enabled :=false;
edit7.Enabled :=false;
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
datetimepicker1.Date;
with mydm.compquery do
begin
Close;
with SQL do
begin
Clear;
Add('select * from compensation');
end;
Open;
end;
if combobox1.Enabled=true then
combobox1.SetFocus;
Combobox1.ItemIndex:=-1;
Combobox1.clear;
for i:=0 to mydm.empsrc.DataSet.RecordCount-1 do
begin
Combobox1.Items.Add(mydm.empQuery.Fields[1].asstring);
mydm.empsrc.DataSet.Next;
end;
mydm.empsrc.DataSet.First;
end;
procedure TF_comp.SpeedButton1Click(Sender: TObject);
var
datefen:string;
begin
speedbutton1.Enabled :=false;
speedbutton2.Enabled :=false;
speedbutton3.Enabled :=false;
edit1.Enabled :=true;
edit2.Enabled :=true;
edit3.Enabled :=true;
edit4.Enabled :=true;
edit5.Enabled :=true;
edit6.Enabled :=true;
edit7.Enabled :=true;
edit2.Clear;
edit3.Clear;
edit4.Clear;
datetimepicker1.Date;
Mydm.compquery.Last;
Datefen:='';
Punum:='';
datefen:=Formatdatetime('yyyymmdd',now());//格式化的年月日
mydm.comp1src.DataSet.Last;
if Trim(mydm.compsrc.DataSet.Fields[0].AsString)<>'' then
Punum:=inttostr(strtoint(copy(Trim(mydm.compsrc.DataSet.Fields[0].AsString),9,2))+1);//Punum定义的字符串型全局变量
if (1<=length(punum)) and (length(punum)<2) then
punum:='0'+punum;
if length(punum)<1 then
punum:='01';
if length(punum)=3 then
punum:='01';
Edit1.Text:=datefen+punum;//日期+两位编号
//Punum:=Edit1.Text;
edit1.Enabled :=false;
edit2.SetFocus;
button1.Enabled:=true;
button2.Enabled:=true;
end;
procedure TF_comp.SpeedButton2Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
edit5.Clear;
edit6.Clear;
edit7.Clear;
Edit1.Enabled:=True;
Edit2.Enabled:=True;
Edit3.Enabled:=true;
edit4.Enabled:=true;
edit5.Enabled:=true;
edit6.Enabled:=true;
edit7.Enabled:=true;
combobox1.Enabled :=true;
combobox2.Enabled :=true;
datetimepicker1.Enabled :=true;
datetimepicker2.Enabled :=true;
Speedbutton1.Enabled:=False;
Speedbutton2.Enabled:=False;
Speedbutton3.Enabled:=False;
Button1.Enabled:=true;
Button2.Enabled:=true;
begin
Edit1.Text:=mydm.compsrc.DataSet.Fields[0].AsString;//记录在TEdit组件中显示
Edit2.Text:=mydm.compsrc.DataSet.Fields[1].AsString;
datetimepicker2.Date:=mydm.compsrc.DataSet.Fields[2].AsDateTime;
edit5.Text:=mydm.compsrc.DataSet.Fields[3].AsString;
edit6.Text:=mydm.compsrc.DataSet.Fields[4].AsString;
edit7.Text:=mydm.compsrc.DataSet.Fields[5].AsString;
combobox1.Text:=mydm.compsrc.DataSet.Fields[6].AsString;
combobox2.Text:=mydm.compsrc.DataSet.Fields[7].AsString;
end;
Change:=True;//定义判断是否为修改状态的全局变量
end;
procedure TF_comp.SpeedButton4Click(Sender: TObject);
begin
Button2.Click;
Close;
end;
procedure TF_comp.Button1Click(Sender: TObject);
begin
if change<>True then
begin
mydm.find.Close;
mydm.find.SQL.Clear;
mydm.find.SQL.Add('select*from compensation where comp_id='''+Trim(Edit1.text)+'''');
mydm.find.Open;
if mydm.find.RecordCount>0 then//查找是否有重复记录有则退出
begin
Application.MessageBox('编号重复。','提示!',mb_ok);
Exit;
end;
end;
if ((Edit1.Text<>'') and (Edit2.Text<>'') and (Edit5.Text<>'' ) and (Edit6.Text<>'')
and (edit7.text<>'') and (ComboBox1.Text<>'') and (combobox2.Text<>'') ) then
begin
if change=True then mydm.compsrc.DataSet.Delete;
with mydm.compQuery do //插入新记录
begin
Close;
with SQL do
begin
Clear;
Add('insert into compensation values(:p0,:p1,:p2,:p3,:p4,:p5,:p6,:p7)');
Parameters[0].Value:=Edit1.Text;
Parameters[1].Value:=Edit2.Text;
Parameters[2].Value:=DateTimePicker2.Date;
Parameters[3].Value:=edit5.text;
Parameters[4].Value:=Edit6.Text;
Parameters[5].Value:=edit7.Text;
parameters[6].Value:=combobox1.Text;
Parameters[7].Value:=combobox2.Text;
end;
Execsql;
end;
//刷新表
with mydm.compQuery do
begin
Close;
with sql do
begin
Clear;
Add('select * from compensation');
end;
Open;
Change:=False;
Button2.Click;
end;
end
else
begin
Application.MessageBox('输入必要信息','提示',64);
Exit;
end;
Edit1.Enabled:=False;
Edit2.Enabled:=False;
edit3.Enabled:=false;
edit4.Enabled:=false;
edit5.Enabled:=false;
edit6.Enabled:=false;
edit7.Enabled:=false;
Speedbutton1.Enabled:=True;
Speedbutton2.Enabled:=True;
Speedbutton3.Enabled:=True;
button1.Enabled:=False;
button2.Enabled:=False;
end;
procedure TF_comp.Button2Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.clear;
edit6.Clear;
edit7.clear;
datetimepicker1.Date;
datetimepicker2.Date;
Edit1.Enabled:=false;
Edit2.Enabled:=false;
edit3.Enabled:=false;
edit4.Enabled:=false;
edit5.Enabled:=false;
edit6.Enabled:=false;
edit7.Enabled:=false;
Button2.Enabled:=false;
Button1.Enabled:=false;
Speedbutton1.Enabled:=true;
Speedbutton2.Enabled:=true;
Speedbutton3.Enabled:=true;
change:=False;
end;
procedure TF_comp.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_comp.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_comp.Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_comp.Edit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_comp.DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_comp.DateTimePicker2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_comp.Edit5KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_comp.Edit6KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_comp.Edit7KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_comp.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
selectnext(sender as twincontrol,true,true);
end;
procedure TF_comp.ComboBox2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then
button1.setfocus;
end;
procedure TF_comp.Button1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
button1click(button1);
end;
procedure TF_comp.Button3Click(Sender: TObject);
begin
F_baoshow.show;
end;
procedure TF_comp.SpeedButton3Click(Sender: TObject);
begin
if Application.MessageBox('是否删除?','提示',mb_yesno)=6 then
begin
try
mydm.compsrc.DataSet.Delete;
except//如果删除不成功将弹出以下对会框
Application.MessageBox('删除不成功!','提示',mb_ok);
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -