📄 c_dish.pas
字号:
unit c_dish;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ComCtrls, Grids, DBGrids, StdCtrls, Mask, DBCtrls, ExtCtrls,
ImgList, ToolWin;
type
Tcfrm_dish = class(TForm)
ToolBar1: TToolBar;
TButton1: TToolButton;
TButton2: TToolButton;
TButton3: TToolButton;
ToolButton4: TToolButton;
TButton5: TToolButton;
TButton6: TToolButton;
ToolButton7: TToolButton;
TButton8: TToolButton;
DBNavigator1: TDBNavigator;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
DBEdit1: TDBEdit;
DBGrid2: TDBGrid;
StatusBar1: TStatusBar;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DataSource1: TDataSource;
ImageList1: TImageList;
DBComboBox1: TDBComboBox;
procedure FormCreate(Sender: TObject);
procedure TButton1Click(Sender: TObject);
procedure TButton2Click(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure TButton5Click(Sender: TObject);
procedure TButton6Click(Sender: TObject);
procedure TButton3Click(Sender: TObject);
procedure DBComboBox1Change(Sender: TObject);
private
{ Private declarations }
public
procedure cpsl;
{ Public declarations }
end;
var
cfrm_dish: Tcfrm_dish;
dishcount:integer;
dishtype:string;
implementation
uses c_datam, publicvar;
{$R *.dfm}
procedure tcfrm_dish.cpsl;
begin
dishcount:=dm.ADO_dish.RecordCount;
StatusBar1.Panels[0].text:='当前的菜品总数为:'+inttostr(dishcount);
end;
procedure Tcfrm_dish.FormCreate(Sender: TObject);
begin
StatusBar1.Panels[1].Text:=datetostr(date())+'|'+username;
dm.ADO_dish.Open;
dm.ADO_dish.Sort:='Dish_id';
dm.ADO_dish.First;
dm.ado_foodtype.open;
dm.ADO_foodtype.Sort:='Num';
while not dm.ado_foodtype.Eof do
begin
DBCombobox1.items.add(dm.ADO_foodtype.fieldbyname('type').AsString);
dm.ADO_foodtype.Next;
end;
dm.ado_foodtype.close;
DBCombobox1.ItemIndex:=0;
cpsl;
end;
procedure Tcfrm_dish.TButton1Click(Sender: TObject);
begin
dm.ADO_dish.Append;
TButton5.Tag:=0;
TButton1.Enabled:=false;
TButton2.Enabled:=false;
TButton3.Enabled:=false;
TButton5.Enabled:=true;
TButton6.Enabled:=true;
DBCombobox1.Text:='';
DBCombobox1.Enabled:=true;
DBEdit1.Enabled:=true;
DBEdit2.Enabled:=true;
DBEdit3.Enabled:=true;
end;
procedure Tcfrm_dish.TButton2Click(Sender: TObject);
var dishname,mes:string;
begin
dishname:=dm.ADO_dish.fieldbyname('Dish_name').asstring;
dm.ado_meals.open;
dm.ado_meals.first;
if dm.ado_meals.locate('Dish_name',dishname,[]) then
begin
mes:='菜品: <'+dm.ADO_dish.fieldbyname('Dish_name').AsString
+'> 已被点,不能修改!';
application.MessageBox(pchar(mes),pchar('提示')
,+MB_ICONQUESTION);
dm.ado_meals.close;
exit;
end
else
begin
dm.ado_meals.close;
TButton5.Tag:=1;
TButton1.Enabled:=false;
TButton2.Enabled:=false;
TButton3.Enabled:=false;
TButton5.Enabled:=true;
TButton6.Enabled:=true;
DBCombobox1.Enabled:=true;
DBEdit1.Enabled:=true;
DBEdit2.Enabled:=true;
DBEdit3.Enabled:=true;
end;
end;
procedure Tcfrm_dish.DataSource1DataChange(Sender: TObject; Field: TField);
begin
DBCombobox1.Text:=dm.ADO_dish.fieldbyname('Dish_type').AsString;
end;
procedure Tcfrm_dish.TButton5Click(Sender: TObject);
begin
if Length(DBEdit1.Text)<3 then //判断输入的菜品编号是否合法
begin
Application.MessageBox(PChar('菜品编号不能为空或小于3位,请重新录入!')
, PChar('提示'),MB_ICONEXCLAMATION);
DBEdit1.SetFocus();
exit;
end;
if DBCombobox1.Text='' then //判断是否输入了类型
begin
Application.MessageBox(PChar('类型不能为空,请重新录入!')
, PChar('提示'),MB_ICONEXCLAMATION);
DBCombobox1.SetFocus();
exit;
end;
if DBEdit2.Text='' then //判断是否输入了菜品名称
begin
Application.MessageBox(PChar('菜品名称不能为空,请重新录入!')
, PChar('提示'),MB_ICONEXCLAMATION);
DBEdit2.SetFocus();
exit;
end;
if DBEdit3.Text='' then //判断是否输入了价格
begin
Application.MessageBox(PChar('菜品价格不能为空,请重新录入!')
, PChar('提示'),MB_ICONEXCLAMATION);
DBEdit3.SetFocus();
exit;
end;
if TButton5.Tag=1 then dm.ADO_dish.Edit;
dm.ADO_dish.FieldByName('Dish_id').AsString:=dishtype+DBEdit1.Text;
try
dm.ADO_dish.Post;
except
Application.MessageBox(PChar('菜品编号重复,请重新录入!'), PChar('提示'),
MB_ICONEXCLAMATION);
DBEdit1.SetFocus();
exit;
end;
TButton1.Enabled:=true;
TButton2.Enabled:=true;
TButton3.Enabled:=true;
TButton5.Enabled:=false;
TButton6.Enabled:=false;
DBCombobox1.Enabled:=false;
DBEdit1.Enabled:=false;
DBEdit2.Enabled:=false;
DBEdit3.Enabled:=false;
cpsl;
end;
procedure Tcfrm_dish.TButton6Click(Sender: TObject);
begin
dm.ADO_dish.Cancel;
TButton1.Enabled:=true;
TButton2.Enabled:=true;
TButton3.Enabled:=true;
TButton5.Enabled:=false;
TButton6.Enabled:=false;
DBCombobox1.Enabled:=false;
DBEdit1.Enabled:=false;
DBEdit2.Enabled:=false;
DBEdit3.Enabled:=false;
end;
procedure Tcfrm_dish.TButton3Click(Sender: TObject);
var dishname,mes:string;
begin
dishname:=dm.ADO_dish.fieldbyname('Dish_name').asstring;
dm.ado_meals.open;
dm.ado_meals.first;
if dm.ado_meals.locate('Dish_name',dishname,[]) then
begin
mes:='菜品: <'+dm.ADO_dish.fieldbyname('Dish_name').AsString
+'> 已被点,不能修改!';
application.MessageBox(pchar(mes),pchar('提示')
,+MB_ICONQUESTION);
dm.ado_meals.close;
exit;
end;
mes:='是否要删除菜品< '+dm.ADO_dish.fieldbyname('Dish_name').AsString +'>';
if application.MessageBox(pchar(mes),pchar('等待确认')
,+MB_ICONQUESTION+mb_okcancel+MB_DEFBUTTON2)=idok then
begin
dm.ADO_dish.Delete;//删除菜品记录
cpsl;
end;
end;
procedure Tcfrm_dish.DBComboBox1Change(Sender: TObject);
begin
dm.ADO_foodtype.Open;
dishtype:=dm.ado_foodtype.lookup('type',DBCombobox1.Text,'Num');
dm.ADO_foodtype.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -