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

📄 frmorderinfo.pas

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

interface

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

type
  TOrderInfo = class(TForm)
    GroupBox1: TGroupBox;
    Table1: TTable;
    Query1: TQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    btnAdd: TButton;
    btnDelete: TButton;
    btnModify: TButton;
    btnClear: TButton;
    SortAsc: TRadioButton;
    SortDesc: TRadioButton;
    id: TRadioButton;
    name: TRadioButton;
    OrderTime: TRadioButton;
    PreTime: TRadioButton;
    Label1: TLabel;
    OrderID: TEdit;
    Label2: TLabel;
    UserName: TEdit;
    Label3: TLabel;
    TimeOrder: TDateTimePicker;
    Label4: TLabel;
    TimeUse: TDateTimePicker;
    Label5: TLabel;
    Price: TEdit;
    Label6: TLabel;
    TableID: TEdit;
    Label8: TLabel;
    Tel: TEdit;
    Label9: TLabel;
    Note: TEdit;
    Label7: TLabel;
    Num: TEdit;
    Label10: TLabel;
    Mode: TComboBox;
    procedure SortAscClick(Sender: TObject);
    procedure SortDescClick(Sender: TObject);
    procedure idClick(Sender: TObject);
    procedure nameClick(Sender: TObject);
    procedure OrderTimeClick(Sender: TObject);
    procedure PreTimeClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btnDeleteClick(Sender: TObject);
    procedure btnModifyClick(Sender: TObject);
    procedure btnAddClick(Sender: TObject);
    procedure OrderIDChange(Sender: TObject);
    procedure btnClearClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    function  CheckOrderID() : boolean;
  public
    { Public declarations }
  end;

var
  OrderInfo: TOrderInfo;

implementation

uses dataModule;

{$R *.dfm}

function  TOrderInfo.CheckOrderID() : boolean;
var
    flag: Boolean;
begin
    result := false;
    with dm.tblOrder do
    begin
        open;
        first;
        while not eof do
        begin
            if fieldByName('订单编号').AsString=OrderId.Text then
            begin
                result:=true;
                break;
            end;
            next;
        end;
        close;
    end;
end;

procedure TOrderInfo.SortAscClick(Sender: TObject);
var
    context : string;
begin
    if( id.Checked = true )
        then context := '订单编号'
    else if ( name.Checked = true )
        then context := '顾客姓名'
    else if ( OrderTime.Checked )
        then context := '订餐时间'
    else if ( PreTime.checked )
        then context := '预定时间';

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

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

procedure TOrderInfo.SortDescClick(Sender: TObject);
var
    context : string;
begin
    if( id.Checked = true )
        then context := '订单编号'
    else if ( name.Checked = true )
        then context := '顾客姓名'
    else if ( OrderTime.Checked )
        then context := '订餐时间'
    else if ( PreTime.checked )
        then context := '预定时间';

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

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

procedure TOrderInfo.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 OrderInfo order by 订单编号 ' + sorttype);

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

procedure TOrderInfo.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 OrderInfo order by 顾客姓名 ' + sorttype);

    //重新查询
    try
        Query1.Open;
    except
        Query1.ExecSQL;
    end;
end;
procedure TOrderInfo.OrderTimeClick(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 OrderInfo order by 订餐时间 ' + sorttype);

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

procedure TOrderInfo.PreTimeClick(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 OrderInfo order by 预定时间 ' + sorttype);

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

procedure TOrderInfo.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    // 关闭查询
    query1.Close;
    // 释放资源
    self.free;
end;

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

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

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

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

procedure TOrderInfo.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 TOrderInfo.btnAddClick(Sender: TObject);
begin
    //检查输入的合法性
    //添加到数据库
    with Table1 do
    begin
                open;
                append;
                fieldByName('订单编号').AsInteger := strToInt(OrderID.text);
                fieldByName('顾客姓名').AsString  := UserName.text;
                fieldByName('预计金额').AsString:=Price.Text;
                fieldByName('订餐时间').AsDateTime:=TimeOrder.Date;
                fieldByName('预定时间').AsDateTime:= TimeUse.Date;
                fieldByName('餐桌编号').AsInteger:=strToInt(TableID.text);
                fieldByName('联系电话').AsString:=tel.Text;
                fieldByName('用餐人数').AsInteger:=strToInt(Num.Text);
                fieldByName('付款方式').AsString:=Mode.Text;
                fieldByName('备注').AsString:=note.Text;
                post;
                close;
    end;

   // 更新表格使它同步显示添加内容
    with Query1 do
    begin
                close;
                sql.Clear;
                sql.Add('select * from Orderinfo');
                open;
    end;

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

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

procedure TOrderInfo.OrderIDChange(Sender: TObject);
begin
    if(CheckOrderID = 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 TOrderInfo.btnClearClick(Sender: TObject);
begin
    //清空编辑框
    OrderID.Text := '';
    UserName.Text :='';
    Price.Text:='';
    TableID.Text := '';
    tel.Text := '';
    Num.Text := '';
    Mode.ItemIndex := 0;
    Note.Text := '';
    TimeOrder.Date := now;
    TimeUse.Date := now;

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

procedure TOrderInfo.FormCreate(Sender: TObject);
begin
    //清空输入框
    OrderID.Text := '';
    UserName.Text :='';
    Price.Text:='';
    TableID.Text := '';
    tel.Text := '';
    Num.Text := '';
    Mode.ItemIndex := 0;
    Note.Text := '';
    TimeOrder.Date := now;
    TimeUse.Date := now;

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

end.

⌨️ 快捷键说明

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