showgroomfeeunit.pas

来自「很好地delphi书籍源码」· PAS 代码 · 共 136 行

PAS
136
字号
unit ShowGRoomFeeUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, ValEdit, StdCtrls, Buttons, ComCtrls, DBGrids, ExtCtrls;

type
  TFrmLookGRoomFee = class(TForm)
    Panel1: TPanel;
    BedDBGrid: TDBGrid;
    SpeedButton1: TSpeedButton;
    PrintSB: TSpeedButton;
    LookUpIDSB: TSpeedButton;
    Label1: TLabel;
    GuestIDCB: TComboBox;
    SumSB: TSpeedButton;
    procedure SpeedButton1Click(Sender: TObject);
    procedure PrintSBClick(Sender: TObject);
    procedure LookUpIDSBClick(Sender: TObject);
    procedure GuestIDCBChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure SumSBClick(Sender: TObject);
  private
    { Private declarations }
  public
    GID:integer;
    GName:string;
    { Public declarations }
  end;

var
  FrmLookGRoomFee: TFrmLookGRoomFee;

implementation

uses DataModuleUnit, QRRoomFeeUnit, GetYourInputUnit;

{$R *.dfm}

procedure TFrmLookGRoomFee.SpeedButton1Click(Sender: TObject);
begin
  Close;
end;

procedure TFrmLookGRoomFee.PrintSBClick(Sender: TObject);
begin
 with QReport1 do
  begin
    DataSet:=BedDBGrid.DataSource.DataSet;
    GuestID.DataField:='客户编号';
    GName.DataField :='客户姓名';
    RoomID.DataField:='房间号';
    BedID.DataField:='床位号';
    Price.DataField:='床位价格';
    Days.DataField:='使用天数';
    StartTime.DataField:='启用时间';
    EndTime.DataField:='停用时间';
    BedFee.DataField:='床位费';
    Preview;
   end;
end;

procedure TFrmLookGRoomFee.LookUpIDSBClick(Sender: TObject);
var
  GName:string;
begin
  GName:=GetYourString;
  with DataModule1.qGInfo  do
  begin
    Close;
    sql.Clear;
    SQL.Add('SELECT GuestID From tbGInfo where GuestName="'+GName+'"');
    Open;
    GuestIDCB.Clear;
    First;
    while not eof do
    begin
      GuestIDCB.Items.Add(Fields[0].Value);
      Next;
    end;
    GuestIDCB.ItemIndex:=0;
    if RecordCount=1 then GuestIDCB.OnChange(self)
    else Showmessage('存在同名客户,请利用客户编号确定是哪一位!');
  end;

end;

procedure TFrmLookGRoomFee.GuestIDCBChange(Sender: TObject);
begin
  if  GuestIDCB.Text='' then   exit;
  if  Not IsInteger(GuestIDCB.Text) then
  begin
    Showmessage('客户编号是一个整数,您再检查一下,好吗?');
    exit;
  end;
  with DataModule1.qGRoomFee do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select 编号=GuestID, 姓名=GuestName ,CardID as 证件号码,');
    SQL.Add('房间号=RoomID, 床位号=BedID,');
    SQL.Add('BedStartDateTime as 床位启用时间,BedEndDateTime as 床位停用时间');
    SQL.Add('From tbGRoomFee where GuestID='+GuestIDCB.Text);
    Open;
  end;
  SumSB.Enabled:=true;  
end;

procedure TFrmLookGRoomFee.FormCreate(Sender: TObject);
begin
  GuestIDCB.Items:=FindGuestID;
end;

procedure TFrmLookGRoomFee.SumSBClick(Sender: TObject);
begin

 if Not IsInteger(GuestIDCB.Text) then exit;
 with DataModule1.qGRoomFee do
 begin
   Close;
   SQL.Clear;
   SQL.Add('select GuestID as 客户编号 ,GuestName as 客户姓名,');
   SQL.Add('RoomID as 房间号,BedID as 床位号,BedPrice as 床位价格,');
   SQL.Add('BedDays as 使用天数,');
   SQL.Add('BedStartDateTime as 启用时间,BedEndDateTime as 停用时间,');
   SQL.Add('BedDays*BedPrice  床位费');
   SQL.Add('from tbGRoomFee where GuestID='+GuestIDCB.Text);
   Open;
 end;
   PrintSB.Enabled:=true;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?