📄 ctzhsetup.pas
字号:
unit ctzhsetup;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Grids, Mask, Spin, Menus, DBTables, Db, ExtCtrls,
ComCtrls;
type
Tzhsetupform = class(TForm)
lc: TTabControl;
Bevel9: TBevel;
Bevel10: TBevel;
Bevel11: TBevel;
Bevel12: TBevel;
Bevel13: TBevel;
Bevel14: TBevel;
Bevel15: TBevel;
grid1: TStringGrid;
Button2: TButton;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
Panel19: TPanel;
Button1: TButton;
Button3: TButton;
rmname: TComboBox;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
sm: TMemo;
wz: TEdit;
rs: TSpinEdit;
Button4: TButton;
Button5: TButton;
Query1: TQuery;
procedure FormCreate(Sender: TObject);
procedure Panel1DblClick(Sender: TObject);
procedure rmnameDblClick(Sender: TObject);
procedure Panel2DblClick(Sender: TObject);
procedure Panel3DblClick(Sender: TObject);
procedure Panel4DblClick(Sender: TObject);
procedure Panel5DblClick(Sender: TObject);
procedure Panel6DblClick(Sender: TObject);
procedure grid1DblClick(Sender: TObject);
procedure grid1KeyPress(Sender: TObject; var Key: Char);
procedure grid1Exit(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure lcChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
zhsetupform: Tzhsetupform;
implementation
uses dataproc;
var rmtypearr:array[0..5] of string;
num:array[0..5,0..4] of integer;
place,remark:array[0..5,0..4] of string;
i,j,k:integer;
{$R *.DFM}
procedure init;
var
arr:array[1..50] of integer;
// ls:string;
begin
with zhsetupform do
begin
for j:=0 to 5 do
for k:=0 to 4 do
begin
grid1.Cells[j,k]:='';
num[j,k]:=0;
place[j,k]:='';
remark[j,k]:='';
end;
Query1.sql.text:='select tabno,num,place,remark,row,col from tabledb where lc='+inttostr((lc.TabIndex+1));
Query1.open;
while not Query1.Eof do
begin
num[Query1.FieldByName('col').asinteger,Query1.FieldByName('row').asinteger]:=Query1.FieldByName('num').asinteger;
place[Query1.FieldByName('col').asinteger,Query1.FieldByName('row').asinteger]:=Query1.FieldByName('place').asstring;
remark[Query1.FieldByName('col').asinteger,Query1.FieldByName('row').asinteger]:=Query1.FieldByName('remark').asstring;
grid1.Cells[Query1.FieldByName('col').asinteger,Query1.FieldByName('row').asinteger]:=Query1.FieldByName('tabno').asstring;
Query1.Next;
end;
Query1.Close;
Query1.sql.Clear;
Query1.Active:=false;
for j:=1 to 50 do arr[j]:=0;
j:=1;
for i:=0 to ComponentCount-1 do
if (Components[i] is TPanel)and(Components[i].tag=j) then
begin
(Components[i] as Tpanel).Caption:='';
arr[j]:=i;
j:=j+1;
end;
// Components[i].
Query1.sql.text:='select tabsetup.code,Name from tabsetup,tabtype where tabType.code=tabsetup.tabType and tabsetup.lc='+inttostr((lc.TabIndex+1));
Query1.open;
while not Query1.Eof do
begin
(Components[arr[Query1.Fields[0].asinteger]] as TPanel).Caption:=Query1.Fields[1].asstring;
rmtypearr[Query1.Fields[0].asinteger-1]:=Query1.Fields[1].asstring;
// ls:=Query1.Fields[1].asstring;
Query1.Next;
{ while (not Query1.Eof) and (ls=trim(Query1.Fields[1].asstring)) do
begin
with rmsetupform.Components[arr[Query1.Fields[0].asinteger]] as TPanel do
Visible:=false;
Width:=Width+50;
Query1.Next;
end; }
end;
Query1.Close;
Query1.sql.Clear;
Query1.Active:=false;
end;
end;
procedure tormname(pan:Tpanel);
begin
with zhsetupform do
begin
rmname.top:=pan.Top;
rmname.left:=Pan.left;
rmname.Visible:=true;
rmname.Text:=Pan.Caption;
end;
end;
procedure Tzhsetupform.FormCreate(Sender: TObject);
begin
Query1.sql.text:='select code,name from tabtype';
Query1.Open;
rmname.Items.Clear;
while not Query1.Eof do
begin
rmname.Items.Add(Query1.Fields[1].asstring);
Query1.Next;
end;
Query1.Close;
Query1.sql.Clear;
Query1.Active:=false;
init;
end;
procedure Tzhsetupform.rmnameDblClick(Sender: TObject);
var ls:string;
begin
rmname.Visible:=false;
ls:=floattostr(int(rmname.left/70));
rmtypearr[strtoint(ls)]:=rmname.Text;
if rmname.left<70 then
Panel1.Caption:=rmname.Text;
if (rmname.left>70) and (rmname.left<70*2) then
Panel2.Caption:=rmname.Text;
if (rmname.left>70*2) and (rmname.left<70*3) then
Panel3.Caption:=rmname.Text;
if (rmname.left>70*3) and (rmname.left<70*4) then
Panel4.Caption:=rmname.Text;
if (rmname.left>70*4) and (rmname.left<70*5) then
Panel5.Caption:=rmname.Text;
if (rmname.left>70*5) and (rmname.left<70*6) then
Panel6.Caption:=rmname.Text;
end;
procedure Tzhsetupform.Panel1DblClick(Sender: TObject);
begin
tormname(Panel1);
end;
procedure Tzhsetupform.Panel2DblClick(Sender: TObject);
begin
tormname(Panel2);
end;
procedure Tzhsetupform.Panel3DblClick(Sender: TObject);
begin
tormname(Panel3);
end;
procedure Tzhsetupform.Panel4DblClick(Sender: TObject);
begin
tormname(Panel4);
end;
procedure Tzhsetupform.Panel5DblClick(Sender: TObject);
begin
tormname(Panel5);
end;
procedure Tzhsetupform.Panel6DblClick(Sender: TObject);
begin
tormname(Panel6);
end;
procedure Tzhsetupform.grid1DblClick(Sender: TObject);
begin
if trim(grid1.Cells[grid1.Col,grid1.Row])<>'' then
begin
j:=grid1.col;
k:=grid1.row;
rs.Value:=num[j,k];
wz.Text:=place[j,k];
sm.Text:=remark[j,k];
GroupBox1.Visible:=true;
GroupBox1.Caption:=trim(grid1.Cells[grid1.Col,grid1.Row])+' 的详细资料';
end;
end;
procedure Tzhsetupform.grid1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
grid1.Options:=[goFixedVertLine,goFixedHorzLine,goVertLine,goHorzLine,goRangeSelect,goDrawFocusSelected];
end;
procedure Tzhsetupform.grid1Exit(Sender: TObject);
begin
if trim(rmtypearr[grid1.Col])<>'' then
begin
grid1.Options:=[goFixedVertLine,goFixedHorzLine,goVertLine,goHorzLine,goRangeSelect,goDrawFocusSelected,goEditing];
if trim(grid1.Cells[grid1.Col,grid1.Row])<>'' then
grid1.Hint:=grid1.Cells[grid1.Col,grid1.Row]+' 座位'+inttostr(num[grid1.Col,grid1.Row])+'个 位置:'+place[grid1.Col,grid1.Row]
else
grid1.Hint:='';
end;
end;
procedure Tzhsetupform.Button3Click(Sender: TObject);
begin
init;
end;
procedure Tzhsetupform.Button2Click(Sender: TObject);
begin
close;
end;
procedure Tzhsetupform.Button1Click(Sender: TObject);
var i,j:integer;
begin
if messagedlg('此操作将影响目前餐厅宾客的数据,请在宾客全部结帐后进行。是否继续?',mtWarning,[mbYes, mbNo], 0) = mrYes then
begin
Query1.sql.text:='delete tabsetup where lc='+inttostr((lc.TabIndex+1));
Query1.ExecSQL;
Query1.sql.Clear;
Query1.Active:=false;
for i:=1 to 6 do
begin
if trim(rmtypearr[i-1])<>'' then
begin
Query1.sql.text:='insert into tabsetup select '+inttostr(i)+','+inttostr((lc.TabIndex+1))+',code,1 from tabtype where name='''+trim(rmtypearr[i-1])+'''';
Query1.ExecSQL;
end;
end;
Query1.Close;
Query1.sql.Clear;
Query1.Active:=false;
Query1.sql.text:='delete tabledb where lc='+inttostr((lc.TabIndex+1));
Query1.ExecSQL;
Query1.sql.Clear;
Query1.Active:=false;
for i:=0 to 5 do
for j:=0 to 4 do
begin
if trim(grid1.Cells[i,j])<>'' then
begin
Query1.sql.add('insert into tabledb select '''+trim(grid1.Cells[i,j])+''','+inttostr(num[i,j])+','''+place[i,j]+''','''+'0'+''','''+remark[i,j]+''',code');
Query1.sql.Add(','+inttostr(j)+','+inttostr(i)+','+inttostr((lc.TabIndex+1))+' from tabtype where name='''+trim(rmtypearr[i])+'''');
end;
end;
if trim(query1.sql.text)<>'' then
begin
Query1.Prepare;
Query1.ExecSQL;
Query1.Close;
end;
Query1.sql.Clear;
Query1.Active:=false;
query1.sql.add('delete from ctnowin where lc='+inttostr((lc.TabIndex+1)));
query1.sql.add('delete from custom where lc='+inttostr((lc.TabIndex+1)));
Query1.Prepare;
Query1.ExecSQL;
Query1.Close;
Query1.sql.Clear;
Query1.Active:=false;
end;
end;
procedure Tzhsetupform.Button4Click(Sender: TObject);
begin
num[j,k]:=rs.Value;
place[j,k]:=wz.Text;
remark[j,k]:=sm.Text;
GroupBox1.Visible:=false;
end;
procedure Tzhsetupform.Button5Click(Sender: TObject);
begin
GroupBox1.Visible:=false;
end;
procedure Tzhsetupform.lcChange(Sender: TObject);
begin
init;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -