📄 unit10.pas
字号:
unit Unit10;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, ComCtrls, StdCtrls, Grids, DBGrids, Db, DBTables, Buttons,
Mask, DBCtrls;
type
TForm10 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Splitter1: TSplitter;
StatusBar1: TStatusBar;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
Label1: TLabel;
Label2: TLabel;
DBGrid1: TDBGrid;
Panel7: TPanel;
Panel8: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
CheckBox2: TCheckBox;
Label5: TLabel;
Edit4: TEdit;
Label6: TLabel;
Edit5: TEdit;
Label7: TLabel;
Edit6: TEdit;
Button6: TButton;
Button7: TButton;
Table1: TTable;
DataSource1: TDataSource;
ListBox1: TListBox;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton;
SpeedButton13: TSpeedButton;
SpeedButton14: TSpeedButton;
SpeedButton15: TSpeedButton;
SpeedButton16: TSpeedButton;
SpeedButton17: TSpeedButton;
SpeedButton18: TSpeedButton;
SpeedButton19: TSpeedButton;
SpeedButton20: TSpeedButton;
SpeedButton21: TSpeedButton;
SpeedButton22: TSpeedButton;
SpeedButton23: TSpeedButton;
SpeedButton24: TSpeedButton;
SpeedButton25: TSpeedButton;
SpeedButton26: TSpeedButton;
SpeedButton27: TSpeedButton;
SpeedButton28: TSpeedButton;
SpeedButton29: TSpeedButton;
SpeedButton30: TSpeedButton;
SpeedButton31: TSpeedButton;
SpeedButton32: TSpeedButton;
SpeedButton33: TSpeedButton;
SpeedButton34: TSpeedButton;
SpeedButton35: TSpeedButton;
SpeedButton36: TSpeedButton;
SpeedButton37: TSpeedButton;
SpeedButton38: TSpeedButton;
SpeedButton39: TSpeedButton;
SpeedButton40: TSpeedButton;
SpeedButton41: TSpeedButton;
SpeedButton42: TSpeedButton;
SpeedButton43: TSpeedButton;
SpeedButton44: TSpeedButton;
SpeedButton45: TSpeedButton;
SpeedButton46: TSpeedButton;
SpeedButton47: TSpeedButton;
SpeedButton48: TSpeedButton;
SpeedButton49: TSpeedButton;
SpeedButton50: TSpeedButton;
SpeedButton51: TSpeedButton;
SpeedButton52: TSpeedButton;
SpeedButton53: TSpeedButton;
SpeedButton54: TSpeedButton;
SpeedButton55: TSpeedButton;
SpeedButton56: TSpeedButton;
SpeedButton57: TSpeedButton;
SpeedButton58: TSpeedButton;
SpeedButton59: TSpeedButton;
SpeedButton60: TSpeedButton;
Button4: TButton;
DateTimePicker1: TDateTimePicker;
Table2: TTable;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DataSource2: TDataSource;
Table3: TTable;
Table4: TTable;
Table5: TTable;
Image1: TImage;
Image2: TImage;
procedure Button6Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button4Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
function abstractF(s:string):real;
var
Form10: TForm10;
implementation
uses Unit20;
function abstractF(s:string):real;
var
i,j:short;
begin
for i:=1 to length(s) do
if s[i] in ['1'..'9']
then break;
for j:=i to length(s) do
if not (s[i] in ['1'..'9'])
then break;
result:=strtofloat(copy(s,i,j-i+1));
end;
var
occupyed:array[1..60] of string;
price:array[1..60] of real;
speedbutton:array[1..60] of tspeedbutton;
{$R *.DFM}
procedure TForm10.Button6Click(Sender: TObject);
begin
form10.Close;
end;
procedure TForm10.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=cafree;
end;
procedure TForm10.Button4Click(Sender: TObject);
var
s:string;
begin
button7.Click;
s:=inputbox('只对客房用户服务!','请输入房间号:','');
if s<>'' then
begin
table4.First;
while not table4.Eof do
begin
if s=table4.FieldByName('fh').asstring then
break;
table4.Next;
end;
if table4.Eof then
begin
showmessage('房间号错误。');
exit;
end;
table4.Edit;
table4.FieldByName('bz').asstring:=table4.FieldByName('bz').asstring+datetimetostr(now)+'就餐:'+edit5.text;
table4.FieldByName('fw').asfloat:=table4.FieldByName('fw').asfloat+strtofloat(edit5.text);
table4.Post;
end;
end;
procedure TForm10.SpeedButton1Click(Sender: TObject);
begin
(sender as tspeedbutton).down:=true;
occupyed[strtoint(dbedit1.text)]:=listbox1.items.text;
table2.First;
table2.MoveBy((sender as tspeedbutton).tag-1);
listbox1.Clear;
listbox1.Items.text:=occupyed[(sender as tspeedbutton).tag];
end;
procedure TForm10.FormCreate(Sender: TObject);
var
i:short;
begin
speedbutton1.Down:=true;
for i:=1 to 60 do
speedbutton[i]:=tspeedbutton.create(application);
speedbutton[1]:=speedbutton1;
speedbutton[2]:=speedbutton2;
speedbutton[3]:=speedbutton3;
speedbutton[4]:=speedbutton4;
speedbutton[5]:=speedbutton5;
speedbutton[6]:=speedbutton6;
speedbutton[7]:=speedbutton7;
speedbutton[8]:=speedbutton8;
speedbutton[9]:=speedbutton9;
speedbutton[10]:=speedbutton10;
speedbutton[11]:=speedbutton11;
speedbutton[12]:=speedbutton12;
speedbutton[13]:=speedbutton13;
speedbutton[14]:=speedbutton14;
speedbutton[15]:=speedbutton15;
speedbutton[16]:=speedbutton16;
speedbutton[17]:=speedbutton17;
speedbutton[18]:=speedbutton18;
speedbutton[19]:=speedbutton19;
speedbutton[20]:=speedbutton20;
speedbutton[21]:=speedbutton21;
speedbutton[22]:=speedbutton22;
speedbutton[23]:=speedbutton23;
speedbutton[24]:=speedbutton24;
speedbutton[25]:=speedbutton25;
speedbutton[26]:=speedbutton26;
speedbutton[27]:=speedbutton27;
speedbutton[28]:=speedbutton28;
speedbutton[29]:=speedbutton29;
speedbutton[30]:=speedbutton30;
speedbutton[31]:=speedbutton31;
speedbutton[32]:=speedbutton32;
speedbutton[33]:=speedbutton33;
speedbutton[34]:=speedbutton34;
speedbutton[35]:=speedbutton35;
speedbutton[36]:=speedbutton36;
speedbutton[37]:=speedbutton37;
speedbutton[38]:=speedbutton38;
speedbutton[39]:=speedbutton39;
speedbutton[40]:=speedbutton40;
speedbutton[41]:=speedbutton41;
speedbutton[42]:=speedbutton42;
speedbutton[43]:=speedbutton43;
speedbutton[44]:=speedbutton44;
speedbutton[45]:=speedbutton45;
speedbutton[46]:=speedbutton46;
speedbutton[47]:=speedbutton47;
speedbutton[48]:=speedbutton48;
speedbutton[49]:=speedbutton49;
speedbutton[50]:=speedbutton50;
speedbutton[51]:=speedbutton51;
speedbutton[52]:=speedbutton52;
speedbutton[53]:=speedbutton53;
speedbutton[54]:=speedbutton54;
speedbutton[55]:=speedbutton55;
speedbutton[56]:=speedbutton56;
speedbutton[57]:=speedbutton57;
speedbutton[58]:=speedbutton58;
speedbutton[59]:=speedbutton59;
speedbutton[60]:=speedbutton60;
end;
procedure TForm10.Button1Click(Sender: TObject);
begin
price[strtoint(dbedit1.Text)]:=price[strtoint(dbedit1.Text)]+table1.fieldbyname('sjjg').asinteger;
listbox1.Items.Add(table1.fieldbyname('cm').asstring+'-------------------------------------------------------'+table1.fieldbyname('sjjg').asstring);
end;
procedure TForm10.Button2Click(Sender: TObject);
begin
if listbox1.ItemIndex<0 then
begin
showmessage('请选择不要的菜。');
exit;
end;
price[strtoint(dbedit1.Text)]:=price[strtoint(dbedit1.Text)]-abstractF(listbox1.Items[listbox1.ItemIndex]);
listbox1.items.Delete(listbox1.ItemIndex);
end;
procedure TForm10.Button7Click(Sender: TObject);
begin
edit4.text:=floattostr(price[strtoint(dbedit1.text)]);
if edit6.Text='' then edit5.Text:=edit4.Text
else edit5.text:=floattostr(strtofloat(edit4.text)*strtofloat(edit6.text));
speedbutton[strtoint(dbedit1.text)].AllowAllUp:=true;
speedbutton[strtoint(dbedit1.text)].Down:=false;
speedbutton[strtoint(dbedit1.text)].AllowAllUp:=false;
listbox1.Clear;
occupyed[strtoint(dbedit1.text)]:='';
price[strtoint(dbedit1.text)]:=0;
table3.Append;
table3.Edit;
table3.FieldByName('lb').asstring:='餐饮';
table3.FieldByName('rq').asdatetime:=now;
table3.FieldByName('sr').asfloat:=strtofloat(edit5.text);
table3.Post;
end;
procedure TForm10.CheckBox2Click(Sender: TObject);
begin
if checkbox2.Checked then
edit6.Text:=floattostr(table5.fieldbyname('jc').asfloat)
else
edit6.Text:='';
end;
procedure TForm10.Button3Click(Sender: TObject);
begin
form20:=tform20.Create(self);
end;
var
i:short;
begin
for i:=1 to 60 do
price[i]:=0;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -