⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frm_dishesu.pas

📁 快餐店管理系统 很好的参考材料 谢谢您的合作
💻 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 + -