📄 c_foodlb.pas
字号:
unit c_foodlb;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, StdCtrls, Grids, DBGrids, Buttons;
type
Tcfrm_foodlb = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
e_id: TEdit;
e_name: TEdit;
DataSource1: TDataSource;
procedure FormCreate(Sender: TObject);
procedure e_idKeyPress(Sender: TObject; var Key: Char);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure DBGrid1Enter(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
cfrm_foodlb: Tcfrm_foodlb;
implementation
uses c_datam;
{$R *.dfm}
procedure Tcfrm_foodlb.FormCreate(Sender: TObject);
begin
dm.ADO_foodtype.Open;
dm.ADO_foodtype.Sort:='Num';
end;
procedure Tcfrm_foodlb.e_idKeyPress(Sender: TObject; var Key: Char);
begin
if not ( Key in ['0'..'9',#13,#8]) then Key := #0;
if key=#13 then
begin
e_name.SetFocus();
end;
end;
procedure Tcfrm_foodlb.BitBtn1Click(Sender: TObject);
begin
BitBtn3.Tag:=1;
e_id.Enabled:=true;
e_name.Enabled:=true;
e_id.Text:='';
e_name.text:='';
BitBtn1.enabled:=false;
BitBtn2.Enabled:=false;
BitBtn3.Enabled:=true;
BitBtn4.Enabled:=false;
e_id.SetFocus();
end;
procedure Tcfrm_foodlb.BitBtn2Click(Sender: TObject);
begin
dm.ADO_Dish.Open;
if dm.ADO_Dish.Locate('Dish_type',e_name.Text,[])=true then
begin
application.messagebox(pchar('此类别已经使用,不可修改其内容!')
,pchar('提示'),MB_ICONEXCLAMATION);
exit;
end;
dm.ADO_Dish.Close;
Bitbtn3.Tag:=2;
Bitbtn3.Enabled:=true;
e_id.Enabled:=true;
e_name.Enabled:=true;
Bitbtn2.Enabled:=false;
Bitbtn1.Enabled:=false;
BitBtn4.Enabled:=false;
end;
procedure Tcfrm_foodlb.DataSource1DataChange(Sender: TObject;
Field: TField);
begin
e_id.Text:=dm.ADO_foodtype.fieldbyname('Num').asstring;
e_name.text:=dm.ADO_foodtype.fieldbyname('type').asstring;
end;
procedure Tcfrm_foodlb.DBGrid1Enter(Sender: TObject);
begin
Bitbtn1.Enabled:=true;
Bitbtn2.Enabled:=true;
Bitbtn4.Enabled:=true;
Bitbtn3.Enabled:=false;
e_id.Enabled:=false;
e_name.enabled:=false;
//
e_id.Text:=dm.ADO_foodtype.fieldbyname('Num').asstring;
e_name.text:=dm.ADO_foodtype.fieldbyname('type').asstring;
end;
procedure Tcfrm_foodlb.BitBtn3Click(Sender: TObject);
var
bh,lbname,mes:string;
begin
bh:=e_id.Text;
lbname:=e_name.text;
if Length(e_id.Text)<2 then
begin
Application.MessageBox(PChar('编号不能为空或小于2位,请重新录入!')
, PChar('提示'),MB_ICONEXCLAMATION);
e_id.SetFocus();
exit;
end;
if Bitbtn3.Tag=1 then
begin
try
dm.ADO_foodtype.AppendRecord([bh,lbname]);
except
e_id.SetFocus;
e_id.text:='';
e_name.Text:='';
mes:='录入错误!'+#13+#13+'注意:<编号>、<类别名>均不能为空'
+#13+' 且不可重复,请重新录入!';
application.messagebox(pchar(mes),pchar('提示'),MB_ICONEXCLAMATION);
exit;
end;
dm.ADO_foodtype.Sort:='Num';
e_id.text:='';
e_name.Text:='';
e_id.SetFocus();
end
else
begin
dm.ADO_foodtype.Edit;
dm.ADO_foodtype.fieldbyname('Num').AsString:=bh;
dm.ADO_foodtype.fieldbyname('type').AsString:=lbname;
try
dm.ADO_foodtype.Post;
except
mes:='录入错误!'+#13+#13+'注意:<编号>、<类别名>均不能为空'
+#13+' 且不可重复,请重新录入!';
application.messagebox(pchar(mes),pchar('提示'),MB_ICONEXCLAMATION);
dm.ADO_foodtype.Cancel;
exit;
end;
dm.ADO_foodtype.Sort:='Num';
end;
Bitbtn1.Enabled:=true;
Bitbtn2.Enabled:=true;
Bitbtn4.Enabled:=true;
Bitbtn3.Enabled:=false;
e_id.Enabled:=false;
e_name.enabled:=false;
end;
procedure Tcfrm_foodlb.BitBtn4Click(Sender: TObject);
var mes:string;
begin
dm.ADO_dish.Open;
if dm.ADO_dish.Locate('Dish_type',e_name.Text,[])=true then
begin
application.messagebox(pchar('此类别已经使用,不可删除!')
,pchar('提示'),MB_ICONEXCLAMATION);
exit;
end;
dm.ADO_dish.Close;
mes:='是否要删除类别<'+dm.ADO_foodtype.fieldbyname('type').AsString
+'>';
if application.MessageBox(pchar(mes),pchar('等待确认')
,+MB_ICONQUESTION+mb_okcancel)=idok then
dm.ADO_foodtype.Delete;
end;
procedure Tcfrm_foodlb.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
dm.ADO_foodtype.Close;
release;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -