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

📄 c_tf.pas

📁 《delphi数据库设计与实例开发》随书光盘
💻 PAS
字号:
unit c_tf;

interface

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

type
  Tcfrm_tf = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    DateTimePicker1: TDateTimePicker;
    Label4: TLabel;
    DateTimePicker2: TDateTimePicker;
    Label5: TLabel;
    GroupBox2: TGroupBox;
    Label6: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    StatusBar1: TStatusBar;
    BitBtn3: TBitBtn;
    Edit3: TEdit;
    Label7: TLabel;
    Label8: TLabel;
    Edit4: TEdit;
    procedure Edit1Exit(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  cfrm_tf: Tcfrm_tf;

implementation

uses c_datam, publicvar;

{$R *.dfm}

procedure Tcfrm_tf.Edit1Exit(Sender: TObject);
var mes:string;
begin
    if edit1.Text='' then
    begin
    edit1.SetFocus;
    exit;
    end
    else
    begin
     dm.ADO_room.Open;
     dm.ADO_room.First;
    if dm.ADO_room.Locate('Room_id',edit1.Text,[]) then
    begin
    edit2.Text:=dm.ADO_room.fieldbyname('Cost').AsString;
    DatetimePicker1.Date:=dm.ADO_room.fieldbyname('state_time').AsDateTime;
    DatetimePicker2.Date:=dm.ADO_room.fieldbyname('end_time').AsDateTime;
    edit4.Text:=dm.ADO_room.fieldbyname('customer_name').AsString;
    end
    else
    begin
     mes:='房间: <'+dm.ADO_room.fieldbyname('Room_id').AsString
           +'> 没有住客,不能退房!';
      application.MessageBox(pchar(mes),pchar('提示')
       ,+MB_ICONQUESTION);
      edit1.Text:='';
      edit1.SetFocus;
    end;
    dm.ADO_room.Close;
    end;

end;


procedure Tcfrm_tf.BitBtn2Click(Sender: TObject);
begin
  dm.ado_inroom.open;
 dm.ado_inroom.locate('Room_id',edit1.text,[]);
 dm.ado_inroom.delete;
  with dm.ADO_room do
  begin
  open;
  First;
  Locate('Room_id',edit1.Text,[]);
  edit;
  fieldbyname('Room_state').AsString:='空';
  fieldbyname('customer_name').AsString:='';
  fieldbyname('state_time').AsString:='';
  fieldbyname('end_time').AsString:='';
  post;
  end;
  with dm.ado_roombenefit do
   begin
   open;
   append;
   fieldbyname('Room_id').asstring:=edit1.text;
   fieldbyname('benefit').asfloat:=strtofloat(edit3.Text);
   fieldbyname('bdate').asdatetime:=date();
   post;
   close;
   end;
    showmessage('结帐完成!');
    edit3.text:='';
    edit1.text:='';
    edit2.text:='';
end;



procedure Tcfrm_tf.BitBtn3Click(Sender: TObject);
var mes:string;
begin
mes:='是否取消退房操作,本次的结果将不保存!';
 if application.MessageBox(pchar(mes),pchar('等待确认')
    ,+MB_ICONQUESTION+mb_okcancel+MB_DEFBUTTON2)=idok then
     begin
     edit1.Text:='';
     edit2.text:='';
     edit3.text:='';
     edit4.Text:='';
      GroupBox1.Enabled:=true;
      GroupBox2.Enabled:=false;
     end;

end;

procedure Tcfrm_tf.BitBtn1Click(Sender: TObject);
var
 money,rentdate:real;//应收金额,出租天数
begin
 rentdate:=trunc(datetimepicker2.Date)-trunc(datetimepicker1.Date);
 if rentdate=0 then rentdate:=1;
 money:=rentdate*strtofloat(edit2.text);
 edit3.text:=floattostr(money);
end;

procedure Tcfrm_tf.FormCreate(Sender: TObject);
begin
 StatusBar1.Panels[0].Text:='当前用户:'+username;
 StatusBar1.Panels[1].Text:=datetostr(date());
 Datetimepicker1.date:=Date();
 Datetimepicker2.date:=Date();
end;

end.

⌨️ 快捷键说明

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