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

📄 frmmenuinfo.pas

📁 住宿餐饮 - 订餐管理系统,DelPhi写的。适合酒店
💻 PAS
字号:
unit frmMenuInfo;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, DB, DBTables;

type
  TMenuInfo = class(TForm)
    GroupBox1: TGroupBox;
    btnAdd: TButton;
    btnModify: TButton;
    btnDelete: TButton;
    RadioGroup1: TRadioGroup;
    hotdish: TRadioButton;
    cooldish: TRadioButton;
    maindish: TRadioButton;
    drink: TRadioButton;
    Label1: TLabel;
    MenuName: TEdit;
    Label2: TLabel;
    MenuPrice: TEdit;
    Label3: TLabel;
    MenuID: TEdit;
    Table1: TTable;
    Query1: TQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    label4: TLabel;
    Label5: TLabel;
    flavorCombox: TComboBox;
    btnClear: TButton;
    Note: TEdit;
    GroupBox2: TGroupBox;
    sortasc: TRadioButton;
    SortDesc: TRadioButton;
    GroupBox3: TGroupBox;
    id: TRadioButton;
    kind: TRadioButton;
    name: TRadioButton;
    price: TRadioButton;
    flavor: TRadioButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure sortascClick(Sender: TObject);
    procedure btnModifyClick(Sender: TObject);
    procedure btnDeleteClick(Sender: TObject);
    procedure SortDescClick(Sender: TObject);
    procedure idClick(Sender: TObject);
    procedure kindClick(Sender: TObject);
    procedure nameClick(Sender: TObject);
    procedure priceClick(Sender: TObject);
    procedure flavorClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure btnAddClick(Sender: TObject);
    procedure MenuIDChange(Sender: TObject);
    procedure btnClearClick(Sender: TObject);
  private
    { Private declarations }
    function CheckMenuID(): boolean;
  public
    { Public declarations }
  end;

var
  MenuInfo: TMenuInfo;

implementation

uses DelDishfrm, ModifyMenuFrm, dataModule;

{$R *.dfm}


function TMenuInfo.CheckMenuID(): boolean;
var
    flag: Boolean;
begin
    result := false;
    with dm.tblMenu do
    begin
        open;
        first;
        while not eof do
        begin
            if fieldByName('编号').AsString=MenuId.Text then
            begin
                result:=true;
                break;
            end;
            next;
        end;
    end;
end;

procedure TMenuInfo.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    //关闭数据库
    Query1.Close;

    //释放窗口
    self.Free;
end;

procedure TMenuInfo.btnModifyClick(Sender: TObject);
var
    i: integer;
begin
    //是否要修改
    i:=messageDlg('确定要修改菜单记录?',mtWarning,[mbYes,mbNo],0);
    if i=6 then
    begin
        //首先删除旧的纪录
        btnDeleteClick(Sender);
        //添加更新后的纪录
        btnADDClick(Sender);

        //更新表格
        Query1.Close;
        Query1.Open;
    end;
    btnClearClick(Sender)
end;


procedure TMenuInfo.btnDeleteClick(Sender: TObject);
var
    i :integer;
begin

    //是否要删除
    i:=messageDlg('确定要删除用户记录?',mtWarning,[mbYes,mbNo],0);

    if i=6 then
    begin
        with dm.tblMenu do
        begin
            open;
            first;
                while not eof do
                begin
                    if fieldByName('编号').AsString=MenuId.Text then
                    begin
                        break;
                    end;
                    next;
                end;
            Delete;
            close;
        end
    end;

    //更新表格
    Query1.Close;
    Query1.Open;
    btnClearClick(Sender)
end;

procedure TMenuInfo.sortascClick(Sender: TObject);
var
    context : string;
begin
    if( id.Checked = true )
        then context := '编号'
    else if ( kind.Checked = true )
        then context := '种类'
    else if ( name.Checked )
        then context := '名称'
    else if ( price.checked )
        then context := '单价'
    else if ( flavor.checked )
        then context := '风味';

    //改变查询语句
    Query1.close;
    Query1.SQL.Clear;
    Query1.SQL.Add('select * from Menu order by '+context+' asc');

    //重新查询
    try
        Query1.Open;
    except
        Query1.ExecSQL;
    end;

end;

procedure TMenuInfo.SortDescClick(Sender: TObject);
var
    context : string;
begin
    if( id.Checked = true )
        then context := '编号'
    else if ( kind.Checked = true )
        then context := '种类'
    else if ( name.Checked )
        then context := '名称'
    else if ( price.checked )
        then context := '单价'
    else if ( flavor.checked )
        then context := '风味';

    //改变查询语句
    Query1.close;
    Query1.SQL.Clear;
    Query1.SQL.Add('select * from Menu order by '+context+' desc');

    //重新查询
    try
        Query1.Open;
    except
        Query1.ExecSQL;
    end;

end;


procedure TMenuInfo.idClick(Sender: TObject);
var
    sorttype : string;
begin
    //确定排序方式
    if ( sortasc.Checked )
        then
        sorttype := 'asc'
    else
        sorttype := 'desc';

    //更新表格

    //改变查询语句
    Query1.close;
    Query1.SQL.Clear;
    Query1.SQL.Add('select * from Menu order by 编号 ' + sorttype);

    //重新查询
    try
        Query1.Open;
    except
        Query1.ExecSQL;
    end;
end;

procedure TMenuInfo.kindClick(Sender: TObject);
var
    sorttype : string;
begin
    //确定排序方式
    if ( sortasc.Checked )
        then
        sorttype := 'asc'
    else
        sorttype := 'desc';

    //更新表格

    //改变查询语句
    Query1.close;
    Query1.SQL.Clear;
    Query1.SQL.Add('select * from Menu order by 种类 ' + sorttype);

    //重新查询
    try
        Query1.Open;
    except
        Query1.ExecSQL;
    end;
end;

procedure TMenuInfo.nameClick(Sender: TObject);
var
    sorttype : string;
begin
    //确定排序方式
    if ( sortasc.Checked )
        then
        sorttype := 'asc'
    else
        sorttype := 'desc';

    //更新表格

    //改变查询语句
    Query1.close;
    Query1.SQL.Clear;
    Query1.SQL.Add('select * from Menu order by 名称 ' + sorttype);

    //重新查询
    try
        Query1.Open;
    except
        Query1.ExecSQL;
    end;
end;


procedure TMenuInfo.priceClick(Sender: TObject);
var
    sorttype : string;
begin
    //确定排序方式
    if ( sortasc.Checked )
        then
        sorttype := 'asc'
    else
        sorttype := 'desc';

    //更新表格

    //改变查询语句
    Query1.close;
    Query1.SQL.Clear;
    Query1.SQL.Add('select * from Menu order by 单价 ' + sorttype);

    //重新查询
    try
        Query1.Open;
    except
        Query1.ExecSQL;
    end;
end;


procedure TMenuInfo.flavorClick(Sender: TObject);
var
    sorttype : string;
begin
    //确定排序方式
    if ( sortasc.Checked )
        then
        sorttype := 'asc'
    else
        sorttype := 'desc';

    //更新表格

    //改变查询语句
    Query1.close;
    Query1.SQL.Clear;
    Query1.SQL.Add('select * from Menu order by 风味 ' + sorttype);

    //重新查询
    try
        Query1.Open;
    except
        Query1.ExecSQL;
    end;
end;


procedure TMenuInfo.FormCreate(Sender: TObject);
begin
    //
    btnClearClick(Sender);
end;

procedure TMenuInfo.btnAddClick(Sender: TObject);
var
    str: string ;
begin
    //检查输入的合法性

    if(hotdish.Checked) then str:='热菜';
    if(cooldish.Checked) then str:='凉菜';
    if(maindish.Checked) then str:='主食'  ;
    if(drink.Checked) then str:='饮料';
    //添加到数据库
    try
            with Table1 do
            begin
                open;
                append;
                fieldByName('编号').AsInteger := strToInt(MenuID.text);
                fieldByName('种类').AsString  := str;
                fieldByName('名称').AsString:=MenuName.Text;
                fieldByName('单价').AsString:=MenuPrice.Text;
                fieldByName('风味').AsString  := flavorCombox.Text;
                fieldByName('备注').AsString:=note.Text;
                post;
                close;
            end;
    except
        on ex:EConvertError do
        begin
            messageDlg('输入有误,请重试!',mtWarning,[mbOk],0);
        end;
    end;

    Query1.Close;
    Query1.Open;

        // 显示添加成功消息
    messageDlg('新用菜单加成功!',mtWarning,[mbOk],0);

        // 设置对话框焦点
    activeControl:=MenuName;
    btnClearClick(Sender)
end;

procedure TMenuInfo.MenuIDChange(Sender: TObject);
begin
    if(CheckMenuID = true) then
    begin
        btnAdd.Enabled := false;
        btnDelete.Enabled := true;
        btnModify.Enabled := true;
    end
    else
    begin
        btnAdd.Enabled := true;
        btnDelete.Enabled := false;
        btnModify.Enabled := false;
    end;
end;

procedure TMenuInfo.btnClearClick(Sender: TObject);
begin
    //
    MenuID.Text := '';
    flavorCombox.ItemIndex := 0;
    MenuName.Text := '';
    MenuPrice.Text := '';
    note.Text := '';

    hotdish.Checked := false;
    cooldish.Checked := false;
    maindish.Checked := false;
    drink.Checked := false;

        btnAdd.Enabled := false;
        btnDelete.Enabled := false;
        btnModify.Enabled := false;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -