📄 u2_1.pas
字号:
unit U2_1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ComCtrls, ExtCtrls, Grids, DBGrids, StdCtrls, CheckLst,
Buttons;
type
TF2_1 = class(TForm)
bmzPanel1: TPanel;
Splitter1: TSplitter;
bmPanel1: TPanel;
LBbumen: TLabel;
CBoxBumen: TComboBox;
dwPanel1: TPanel;
LBdingwei: TLabel;
EDdingwei: TEdit;
Panel1: TPanel;
Panel2: TPanel;
xfdPageControl1: TPageControl;
xmTabSheet1: TTabSheet;
xmDBGrid1: TDBGrid;
syTabSheet3: TTabSheet;
syDBGrid1: TDBGrid;
LBinfo: TLabel;
Panel3: TPanel;
Bevel1: TBevel;
Splitter2: TSplitter;
ImageList1: TImageList;
Panel4: TPanel;
SBTadd: TSpeedButton;
SBTdazhe: TSpeedButton;
SBTsave: TSpeedButton;
SBTchudan: TSpeedButton;
SBTback: TSpeedButton;
Label1: TLabel;
EDdaima: TEdit;
DBGrid1: TDBGrid;
TreeView1: TTreeView;
DBGrid2: TDBGrid;
dwListBox1: TListBox;
procedure add;
procedure readinfo(info:string);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
procedure SBTbackClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DBGrid2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGrid1DblClick(Sender: TObject);
procedure DBGrid2CellClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
uses UDmo;
{$R *.dfm}
procedure TF2_1.add;
var
zh:string;
begin
zh:=DBGrid2.Fields[0].AsString;
dwListBox1.Items.Clear;
with dmo.ADOQuery4 do
begin
Close;
sql.Clear;
sql.Add('select zhanghaoID from zhanghao');
sql.Add('where dengjiID=:zh');
parameters.ParamByName('zh').Value:=zh;
open;
while EOF=false do
begin
dwListbox1.Items.Add(fields.Fields[0].AsString);
next;
end;
end;
end;
procedure TF2_1.readinfo(info:string);
begin
with dmo.ADOQuery3 do
begin
Close;
xmDBgrid1.Columns.Clear;
sql.Clear;
sql.add('select xfID as ''ID'',mingxi.zhanghaoID as ''顾客账号'','
+'shangpinName as ''编号'',mingcheng as ''名称'','
+'danwei as ''单位'',danjia as ''单价'','
+'mingxi.xiaofei as ''消费额'',time as ''消费时间''');
sql.Add('from mingxi,zhanghao');
sql.Add('where zhanghao.dengjiID=:dengjiID');
sql.add('and mingxi.zhanghaoID=zhanghao.zhanghaoID');
parameters.ParamByName('dengjiID').Value:=strToint(info);
open;
end;
end;
procedure TF2_1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TF2_1.TreeView1Change(Sender: TObject; Node: TTreeNode);
var
str:string;
info:string;
begin
str:=TreeView1.selected.Text;
if str='菜肴' then info:='cy'
else if str='餐桌号' then info:='cz'
else if str='酒类' then info:='cj'
else if str='会议室' then info:='kh'
else if str='加床费' then info:='kj'
else if str='其他商品' then info:='kq'
else if str='手牌号' then info:='xs'
else if str='消费及服务' then info:='xx'
else if str='通信' then info:='st'
else if str='网络室' then info:='sl'
else if str='文字处理' then info:='sw'
else if str='包厢费' then info:='yb'
else info:='*';
with dmo.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select sangpinName as ''代码'',mingcheng as ''名称'','
+'yushe as ''预设单价'',danwei as ''单位'' from jichu');
sql.Add('where sangpinName like('''+info+'%'')');
open;
end;
DBGrid1.Columns.Items[0].Width:=70;
DBgrid1.Columns.Items[1].Width:=150;
DBGrid1.Columns.Items[2].Width:=70;
DBGrid1.Columns.Items[3].Width:=50;
end;
procedure TF2_1.SBTbackClick(Sender: TObject);
begin
close;
end;
procedure TF2_1.FormShow(Sender: TObject);
begin
with Dmo.ADOQuery2 do
begin
Close;
SQL.Clear;
Sql.Add('select Distinct dengjiID, na from Vinfo');
sql.Add('where zhuangtai=1');
open;
end;
Dbgrid2.Columns.Items[0].Width:=40;
DBGrid2.Columns.Items[1].Width:=50;
readInfo('0');
end;
procedure TF2_1.DBGrid2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
readInfo(DBgrid2.Fields[0].AsString);
add;
end;
procedure TF2_1.DBGrid1DblClick(Sender: TObject);
var
i:integer;
dm:string;
ID:integer;
mc:string;
zh:string;
dw:string;
dj:string;
xf:string;
flag:Boolean;
begin
flag:=false;
dm:=DBGrid1.Fields[0].AsString;
with dmo.ADOQuery4 do
begin
dm:=DBGrid1.Fields[0].AsString;
dw:=DBGrid1.Fields[3].AsString;
dj:=DBGrid1.Fields[2].AsString;
xf:=dj;
mc:=DBGrid1.Fields[1].AsString;
for i:=0 to dwListBox1.Items.Count-1 do
begin
if dwlistBox1.Selected[i] then
begin
flag:=true;
zh:=dwlistBox1.Items.Strings[i];
end;
end;
Close;
sql.Clear;
sql.Add('select max(xfID) from mingxi');
open;
ID:=fields.Fields[0].AsInteger;
ID:=ID+1;
close;
if flag=false then
begin
if MessageBox(Handle, '是给所有客房都添加吗?', '提示',
MB_ICONQUESTION or MB_OKCANCEL) = IDOK then
begin
for i:=0 to dwListBox1.Count-1 do
begin
zh:=dwlistBox1.Items.strings[i];
dmo.ADOQuery3.InsertRecord([id,zh,dm,mc,dw,strTofloat(dj),strTofloat(xf),NOW]);
with DMO.ADOQuery4 do
begin
close;
sql.Clear;
sql.Add('update zhanghao set xiaofei=xiaofei+:dj');
sql.Add('where zhanghaoID=:zhanghaoID');
parameters.ParamByName('dj').Value:=dj;
parameters.ParamByName('zhanghaoID').Value:=zh;
execsql;
end;
ID:=ID+1;
end;
end;
end else
dmo.ADOQuery3.InsertRecord([id,zh,dm,mc,dw,strTofloat(dj),strTofloat(xf),NOW]);
end;
end;
procedure TF2_1.DBGrid2CellClick(Column: TColumn);
begin
readInfo(DBgrid2.Fields[0].AsString);
add;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -