📄 frm_dishesu.pas
字号:
unit frm_dishesU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, frm_infoU, DB, StdCtrls, Grids, DBGrids,ClassesU,Control_dishesU,
Control_typeU;
type
Tfrm_dishes = class(Tfrm_info)
edt_name: TEdit;
Label1: TLabel;
Label2: TLabel;
cbx_type: TComboBox;
Label3: TLabel;
cbx_dishClass: TComboBox;
Label4: TLabel;
edt_unit: TEdit;
Label5: TLabel;
edt_price: TEdit;
Label6: TLabel;
Label7: TLabel;
Memo_method: TMemo;
Memo_element: TMemo;
procedure FormShow(Sender: TObject);
procedure DBGrid_infoCellClick(Column: TColumn);
procedure btn_addClick(Sender: TObject);
procedure btn_delClick(Sender: TObject);
procedure btn_editClick(Sender: TObject);
procedure edt_priceKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
procedure FillData;
end;
var
frm_dishes: Tfrm_dishes;
implementation
{$R *.dfm}
procedure Tfrm_dishes.FillData;
begin
DataSource_info.DataSet:=Control_dishesU.GetdishesArray;
self.DBGrid_info.Columns[0].Visible :=false;
//填充菜谱类型和菜系类型
FillCBXDataByTypeArray(self.cbx_type,0);
FillCBXDataByTypeArray(self.cbx_dishClass,2);
end;
procedure Tfrm_dishes.FormShow(Sender: TObject);
begin
inherited;
FillData;
end;
procedure Tfrm_dishes.DBGrid_infoCellClick(Column: TColumn);
begin
inherited;
if self.DBGrid_info.Fields[0].IsNull then
exit;
self.edt_name.Tag:=self.DBGrid_info.Fields[0].Value;//保存id
self.edt_name.Text:=self.DBGrid_info.Fields[1].Value;
self.cbx_type.Text:=self.DBGrid_info.Fields[2].Value;
self.cbx_dishClass.Text:=self.DBGrid_info.Fields[3].Value;
self.edt_unit.Text:=self.DBGrid_info.Fields[4].Value;
self.edt_price.Text:=floattostr(self.DBGrid_info.Fields[5].Value);
self.Memo_element.Text:=self.DBGrid_info.Fields[6].Value;
self.Memo_method.Text:=self.DBGrid_info.Fields[7].Value;
end;
procedure Tfrm_dishes.btn_addClick(Sender: TObject);
var
dishes:Tdishes;
begin
inherited;
if((edt_name.Text='') or (edt_unit.Text='')
or (edt_price.Text='')) then
begin
MessageBox(Handle, '内容填写不正确!', '信息', MB_ICONEXCLAMATION);
exit;
end;
//查找是否存在重复
if (GetdishesBydishesID(trim(edt_name.Text)))<>nil then
begin
MessageBox(Handle, '菜谱已经存在,请重新设置!', '信息', MB_ICONEXCLAMATION);
exit;
end;
dishes:=Tdishes.Create;
dishes.id:=edt_name.Tag;
dishes.dish:=trim(self.edt_name.Text);
dishes.dishType:=self.cbx_type.Text;
dishes.dishClass:=self.cbx_dishClass.Text;
dishes.units:=self.edt_unit.Text;
dishes.sell:=strtofloat(self.edt_price.Text);
dishes.element:=self.Memo_element.Text;
dishes.method:=self.Memo_method.Text;
if(Control_dishesU.Adddishes(dishes)) then
begin
MessageBox(Handle, '添加成功!', '信息', MB_ICONASTERISK);
//刷新内容
FillData;
end
else
begin
MessageBox(Handle, '添加失败!', '信息', MB_ICONEXCLAMATION);
exit;
end;
end;
procedure Tfrm_dishes.btn_delClick(Sender: TObject);
begin
inherited;
if MessageBox(Handle, '您确定要删除该菜谱信息', '信息',
MB_ICONQUESTION or MB_OKCANCEL) = IDOK then
begin
Control_dishesU.Deldishes(self.edt_name.Tag);
FillData;
if self.DBGrid_info.Fields[0].IsNull then
exit;
self.edt_name.Tag:=self.DBGrid_info.Fields[0].Value;//保存id
self.edt_name.Text:=self.DBGrid_info.Fields[1].Value;
self.cbx_type.Text:=self.DBGrid_info.Fields[2].Value;
self.cbx_dishClass.Text:=self.DBGrid_info.Fields[3].Value;
self.edt_unit.Text:=self.DBGrid_info.Fields[4].Value;
self.edt_price.Text:=floattostr(self.DBGrid_info.Fields[5].Value);
self.Memo_element.Text:=self.DBGrid_info.Fields[6].Value;
self.Memo_method.Text:=self.DBGrid_info.Fields[7].Value;
end;
end;
procedure Tfrm_dishes.btn_editClick(Sender: TObject);
var
dishes:Tdishes;
begin
inherited;
if edt_name.Text ='' then
begin
MessageBox(Handle, '没有可以修改的数据!', '信息', MB_ICONEXCLAMATION);
exit;
end
else
begin
if((edt_name.Text='') or (edt_unit.Text='')
or (edt_price.Text='')) then
begin
MessageBox(Handle, '内容填写不正确!', '信息', MB_ICONEXCLAMATION);
exit;
end;
dishes:=Tdishes.Create;
dishes:=GetdishesBydishesID(trim(edt_name.Text));
//查找是否存在重复
if (dishes<>nil) and (dishes.id <>self.edt_name.Tag) then
begin
MessageBox(Handle, '菜谱已经存在,请重新设置!', '信息', MB_ICONEXCLAMATION);
exit;
end;
dishes:=Tdishes.Create;
dishes.id:=edt_name.Tag;
dishes.dish:=trim(self.edt_name.Text);
dishes.dishType:=self.cbx_type.Text;
dishes.dishClass:=self.cbx_dishClass.Text;
dishes.units:=self.edt_unit.Text;
dishes.sell:=strtofloat(self.edt_price.Text);
dishes.element:=self.Memo_element.Text;
dishes.method:=self.Memo_method.Text;
if(Control_dishesU.Editdishes(dishes)) then
begin
MessageBox(Handle, '修改成功!', '信息', MB_ICONASTERISK);
//刷新内容
FillData;
end
else
begin
MessageBox(Handle, '修改失败!', '信息', MB_ICONEXCLAMATION);
exit;
end;
self.edt_name.SetFocus;
end;
end;
procedure Tfrm_dishes.edt_priceKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if not((key in ['0'..'9',#8,#13,#46])) then
key:=#0;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -