userm.pas

来自「完整的delphi书籍源代码,大家有空的时候自己慢慢看看」· PAS 代码 · 共 390 行

PAS
390
字号
unit UserM;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ImgList, ToolWin, ComCtrls, Menus, jpeg, StdCtrls,
  Buttons;

type
  TUserMFrm = class(TForm)
    MainMenu1: TMainMenu;
    StatusBar1: TStatusBar;
    ToolBar1: TToolBar;
    Room_Mana: TMenuItem;
    Room_Yud: TMenuItem;
    Room_Ruzhu: TMenuItem;
    Resta_Mana: TMenuItem;
    Quit: TMenuItem;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ImageList1: TImageList;
    N11: TMenuItem;
    N21: TMenuItem;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    RadioButton5: TRadioButton;
    RadioButton6: TRadioButton;
    ComboBox2: TComboBox;
    BitBtn1: TBitBtn;
    Memo1: TMemo;
    ComboBox3: TComboBox;
    Button2: TButton;
    GroupBox1: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    ComboBox1: TComboBox;
    TabSheet2: TTabSheet;
    Memo2: TMemo;
    Edit1: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    Button1: TButton;
    Label6: TLabel;
    Edit2: TEdit;
    N1: TMenuItem;
    Label7: TLabel;
    Button3: TButton;
    ToolButton9: TToolButton;
    procedure QuitClick(Sender: TObject);
    procedure Room_YudClick(Sender: TObject);
    procedure Room_RuzhuClick(Sender: TObject);
    procedure Resta_ManaClick(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure N21Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
    procedure RadioButton5Click(Sender: TObject);
    procedure RadioButton6Click(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    showflag:integer;
    { Public declarations }
  end;

var
  UserMFrm: TUserMFrm;

implementation

uses login, RoomYud, RoomRuzhu, DB_Frm,tuifang;


{$R *.dfm}

procedure TUserMFrm.QuitClick(Sender: TObject);
begin
  close;
  loginFrm.Show;
end;

procedure TUserMFrm.Room_YudClick(Sender: TObject);
begin
  RoomYudFrm.ShowModal;
end;

procedure TUserMFrm.Room_RuzhuClick(Sender: TObject);
begin
  RoomRuFrm.ShowModal;
end;

procedure TUserMFrm.Resta_ManaClick(Sender: TObject);
begin
  PageControl1.activepage:=tabsheet2;
end;

procedure TUserMFrm.N11Click(Sender: TObject);
begin
  PageControl1.activepage:=tabsheet1;
end;

procedure TUserMFrm.N21Click(Sender: TObject);
begin
  PageControl1.activepage:=tabsheet2;
end;

procedure TUserMFrm.RadioButton1Click(Sender: TObject);
var
  i:integer;
  temp_tablename:array[1..50]of string;
begin
  ComboBox1.Clear;
  with DBFrm.restable_Query do
    begin
      close;
      sql.clear;
      sql.Add('select * from restable');
      open;
      first;
      for i:=1 to recordcount do
        begin
          if fieldbyname('table_disc').asstring=RadioButton1.Caption then
            if fieldbyname('Table_state').asinteger=1 then
            begin
              temp_tablename[i]:=fieldbyname('Table_name').asstring;
              ComboBox1.items.Add(temp_tablename[i]);
            end;
          next;
        end;
    end;
end;

procedure TUserMFrm.RadioButton2Click(Sender: TObject);
var
  i:integer;
  temp_tablename:array[1..50]of string;
begin
  ComboBox1.Clear;
  with DBFrm.restable_Query do
    begin
      close;
      sql.clear;
      sql.Add('select * from restable');
      open;
      first;
      for i:=1 to recordcount do
        begin
          if fieldbyname('table_disc').asstring=RadioButton2.Caption then
            if fieldbyname('Table_state').asinteger=1 then
            begin
              temp_tablename[i]:=fieldbyname('Table_name').asstring;
              ComboBox1.items.Add(temp_tablename[i]);
            end;
          next;
        end;
    end;
end;

procedure TUserMFrm.RadioButton3Click(Sender: TObject);
var
  i:integer;
  temp_tablename:array[1..50]of string;
begin
  ComboBox1.Clear;
  with DBFrm.restable_Query do
    begin
      close;
      sql.clear;
      sql.Add('select * from restable');
      open;
      first;
      for i:=1 to recordcount do
        begin
          if fieldbyname('table_disc').asstring=RadioButton3.Caption then
            if fieldbyname('Table_state').asinteger=1 then
            begin
              temp_tablename[i]:=fieldbyname('Table_name').asstring;
              ComboBox1.items.Add(temp_tablename[i]);
            end;
          next;
        end;
    end;
end;

procedure TUserMFrm.RadioButton5Click(Sender: TObject);
var
  i:integer;
  Dish_name,Dish_cost:array[1..50]of string;
begin
  ComboBox2.Clear;
  ComboBox3.Clear;
  with DBFrm.restable_Query do
    begin
      close;
      sql.clear;
      sql.Add('select * from Dish');
      open;
      first;
      for i:=1 to recordcount do
        begin
          if  fieldbyname('Dish_type').asstring=RadioButton5.Caption then
            begin
              Dish_name[i]:=fieldbyname('Dish_name').asstring;
              Dish_cost[i]:=fieldbyname('Dish_cost').asstring;
              ComboBox2.items.Add(Dish_name[i]);
              ComboBox3.items.Add(Dish_cost[i]);
            end;
          next;
        end;
    end;
end;

procedure TUserMFrm.RadioButton6Click(Sender: TObject);
var
  i:integer;
  Dish_name,Dish_cost:array[1..50]of string;
begin
  ComboBox2.Clear;
  ComboBox3.Clear;
  with DBFrm.restable_Query do
    begin
      close;
      sql.clear;
      sql.Add('select * from Dish');
      open;
      first;
      for i:=1 to recordcount do
        begin
          if fieldbyname('Dish_type').asstring=RadioButton6.Caption then
            begin
              Dish_name[i]:=fieldbyname('Dish_name').asstring;
              Dish_cost[i]:=fieldbyname('Dish_cost').asstring;
              ComboBox2.items.Add(Dish_name[i]);
              ComboBox3.items.Add(Dish_cost[i]);
            end;
          next;
        end;
    end;
end;

procedure TUserMFrm.ComboBox2Change(Sender: TObject);
var
  i:integer;
begin
  i:=ComboBox2.Items.IndexOf(ComboBox2.Text);
  ComboBox3.Text:=ComboBox3.Items[i];
end;

procedure TUserMFrm.Button2Click(Sender: TObject);
begin
  ComboBox2.Clear;
  ComboBox3.Clear;
  memo1.Clear;
end;

procedure TUserMFrm.BitBtn1Click(Sender: TObject);
begin
  memo1.Lines.Add(ComboBox2.Text+'------'+ComboBox3.Text);

  if length(ComboBox1.Text)=0 then
    Messagedlg('请选择桌位!',mtError,[mbOK],0)
  else
    begin
      with DBFrm.resTable_Table do         //将餐桌状态设为0
        begin
          close;
          indexfieldnames:='table_name';
          open;
          findkey([ComboBox1.Text]);
          edit;
          fieldbyname('table_state').AsString:='0';
          post;
        end;
        
      with DBFrm.meal_Table do       //将菜单存入表meals中
        begin
          close;
          open;
          append;
          fieldbyname('table_name').AsString:=trim(ComboBox1.Text);
          if RadioButton5.Checked then
            fieldbyname('dish_type').AsString:=trim(RadioButton5.Caption)
          else
            fieldbyname('dish_type').AsString:=trim(RadioButton6.Caption);
          fieldbyname('dish_name').AsString:=trim(ComboBox2.Text);
          fieldbyname('dish_cost').AsString:=trim(ComboBox3.Text);
          post;
        end;
    end;
end;

procedure TUserMFrm.Button1Click(Sender: TObject);
var
  qrystring:string;
begin
   with DBFrm.resTable_Table do      //将餐桌状态再次设位1
     begin
       close;
       indexfieldnames:='table_name';
       open;
       findkey([edit1.Text+'号桌']);
       edit;
       fieldbyname('table_state').AsString:='1';
       post;
     end;

   qrystring:='delete from meals where table_name='+''''+trim(edit1.Text+'号桌')+'''';
   with DBFrm.meal_Query do          //删除菜单记录
     begin
       close;
       sql.Clear;
       sql.Add(qrystring);
       execSQL;
     end;

   with DBFrm.tablebene_Table do      //写入餐厅营业表
     begin
       close;
       open;
       append;
       fieldbyname('table_name').AsString:=trim(edit1.Text+'号桌');
       fieldbyname('benefit').AsString:=trim(edit2.Text);
       post;
     end;
end;

procedure TUserMFrm.ToolButton4Click(Sender: TObject);
begin
  PageControl1.activepage:=tabsheet1;
end;

procedure TUserMFrm.N1Click(Sender: TObject);
begin
  tuifangFrm.Show;
end;

procedure TUserMFrm.Button3Click(Sender: TObject);
var
  i,total_cost:integer;
  temp_dishname,temp_cost,qrystring:string;
begin
  total_cost:=0;
  memo2.Clear;
  edit2.Clear;
  if length(Edit1.Text)=0 then
    Messagedlg('请输入桌位号!',mtError,[mbOK],0)
  else
    begin
      qrystring:='select * from meals where table_name='+''''+trim(edit1.Text+'号桌')+'''';
      with DBFrm.meal_Query do   //查出指定餐桌对应的菜单
        begin
          close;
          sql.Clear;
          sql.Add(qrystring);
          open;
          recordcount;
          for i:=1 to recordcount do
          begin
            temp_dishname:=fieldbyname('dish_name').AsString;
            temp_cost:=fieldbyname('dish_cost').AsString;
            memo2.Lines.Add(temp_dishname+'------'+temp_cost);
            total_cost:=total_cost+strtoint(temp_cost);
            next;
          end;
          edit2.Text:=inttostr(total_cost);
        end;
    end;
end;

end.

⌨️ 快捷键说明

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