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 + -
显示快捷键?