⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 u2_1.pas

📁 前言 随着旅游业的发展
💻 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 + -