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

📄 roomtypeut.pas

📁 宾馆客房管理系统,功能强大,界面美观,全部delphi源代码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit RoomTypeUt;

interface

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

type
  TRoomTypeFm = class(TForm)
    PageControl1: TPageControl;
    fFloodSheet: TTabSheet;
    RoomSheet: TTabSheet;
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    TypeCodeEdit: TEdit;
    TypeNameEdit: TEdit;
    PriceEdit: TEdit;
    PPriceEdit: TEdit;
    OrderNumEdit: TEdit;
    PF: TCheckBox;
    UpDown: TUpDown;
    tj: TCheckBox;
    AddBt: TBitBtn;
    EditBt: TBitBtn;
    DelBt: TBitBtn;
    FirstBt: TBitBtn;
    ProBt: TBitBtn;
    NextBt: TBitBtn;
    LastBt: TBitBtn;
    ClearBt: TBitBtn;
    CloseBt: TBitBtn;
    FindBt: TBitBtn;
    Panel2: TPanel;
    DBGrid1: TDBGrid;
    totlepl: TPanel;
    RoomTypeAdo: TADOQuery;
    DataSource1: TDataSource;
    Panel3: TPanel;
    Panel4: TPanel;
    DataSource2: TDataSource;
    DBGrid2: TDBGrid;
    GroupBox2: TGroupBox;
    faddbt: TBitBtn;
    feditbt: TBitBtn;
    fdelbt: TBitBtn;
    fclearbt: TBitBtn;
    fclose: TBitBtn;
    Label6: TLabel;
    FloodCodeEdit: TEdit;
    Label7: TLabel;
    FloodNameEdit: TEdit;
    FloodAdo: TADOQuery;
    UpDown1: TUpDown;
    UpDown2: TUpDown;
    procedure UpDownClick(Sender: TObject; Button: TUDBtnType);
    procedure TypeNameEditKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure PriceEditKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure OrderNumEditKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure PFKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure PPriceEditKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure AddBtClick(Sender: TObject);
    procedure PFClick(Sender: TObject);
    procedure CloseBtClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure ProBtClick(Sender: TObject);
    procedure FirstBtClick(Sender: TObject);
    procedure NextBtClick(Sender: TObject);
    procedure LastBtClick(Sender: TObject);
    procedure FindBtClick(Sender: TObject);
    procedure fcloseClick(Sender: TObject);
    procedure fclearbtClick(Sender: TObject);
    procedure fdelbtClick(Sender: TObject);
    procedure feditbtClick(Sender: TObject);
    procedure faddbtClick(Sender: TObject);
    procedure ClearBtClick(Sender: TObject);
    procedure DelBtClick(Sender: TObject);
    procedure EditBtClick(Sender: TObject);
    procedure DBGrid2CellClick(Column: TColumn);
    procedure FloodNameEditKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
    procedure DataMove(para:integer);
  public
    { Public declarations }
  end;

var
  RoomTypeFm: TRoomTypeFm;
  str,str1:string;
implementation

uses hotelmis, DataConUt;

{$R *.dfm}

procedure TRoomTypeFm.DataMove(para:integer);
begin
   with RoomTypeAdo do
   begin
    if para=1 then
     first
     else if para=2 then
     Prior
    else if para=3 then
     next
    else if para=4 then
    last;
   begin
     TypeCodeEdit.Text:=fieldbyname('类型编号').AsString;
     TypeNameEdit.Text:=fieldbyname('类型名称').AsString;
     PriceEdit.Text:=fieldbyname('价格').AsString;
     OrderNumEdit.Text:=fieldbyname('可超预定数').AsString;
      if  fieldbyname('是否可拼房').AsBoolean then
     Pf.Checked:=true
     else
     Pf.Checked:=false;
     PPriceEdit.Text:=fieldbyname('拼房价格').AsString;

   end;
   end;
end;
procedure TRoomTypeFm.UpDownClick(Sender: TObject; Button: TUDBtnType);
begin
//OrderNumEdit.Text:=inttostr(strtoint(OrderNumEdit.Text)+1);
end;

procedure TRoomTypeFm.TypeNameEditKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=13 then
  begin
     if TypeNameEdit.Text='' then
       begin
        showmessage('请输入客房名称');
        exit;
        end
       else
        OrderNumEdit.SetFocus;
  end;
end;

procedure TRoomTypeFm.PriceEditKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=13 then
  begin
    if (PriceEdit.Text='')  or (PriceEdit.Text<'0') or (PriceEdit.Text>'9') then
       begin
        showmessage('请正确输入客房价格');
        exit;
        end
       else
        PF.SetFocus;
  end;
end;

procedure TRoomTypeFm.OrderNumEditKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=13 then
  begin
    if (OrderNumEdit.Text='') or (OrderNumEdit.Text<'0') or (OrderNumEdit.Text>'9')then
       begin
        showmessage('请输入可超预定数或者输入不为数字!');
        exit;
        end
       else
        PriceEdit.SetFocus;
  end;
end;

procedure TRoomTypeFm.PFKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=13 then
 if PPriceEdit.Enabled=false then
   AddBt.Click
   else
    PPriceEdit.SetFocus;

end;

procedure TRoomTypeFm.PPriceEditKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=13 then

 AddBt.Click;

end;


procedure TRoomTypeFm.AddBtClick(Sender: TObject);
var
vpf:boolean;
vpfprice:string;
begin
//数据验证代码
   if TypeNameEdit.Text='' then
  begin
    showmessage('请输入客房类型名称');
    exit;
   end;
  if (OrderNumEdit.Text='')  then
  begin
    showmessage('请输入可超预定数或者输入的可超预定数不为数字类型');
    exit;
   end;
   if (PriceEdit.Text='')  then
  begin
    showmessage('请输入价格或者输入的价格格式错误');
    exit;
   end;
   if pf.Checked then
   begin
     if (PPriceEdit.Text='') then
     begin
    showmessage('请输入拼房价格或者输入的拼房价格格式错误');
    exit;
   end;
    vpf:=true;
    vpfprice:=PPriceEdit.Text;
   end
   else
   begin
    vpf:=false;
    vpfprice:='0';
   end;
 //数据提交代码
  with RoomTypeAdo do
  begin
   close;
   sql.clear;
   sql.Add('select 类型编号,类型名称,价格,拼房价格,可超预定数,是否可拼房 from 客房类型表 where 类型编号=:typecode');
    Parameters.ParamByName('typecode').Value:=trim(TypeCodeEdit.Text);
    open;
    if recordcount>=1 then
      begin
      showmessage('此类型编号存在,如果是修改请点击修改按钮');
      ClearBt.Click;
      exit;
      end;
  end;
   str:='insert into 客房类型表(类型编号,类型名称,价格,拼房价格,可超预定数,是否可拼房)';
   str:=str+' values(:typecode,:typename,:price,:pprice,:ordernum,:pf)';
  with RoomTypeAdo do
    begin
      close;
      sql.Clear;
      sql.Add(str);
       Parameters.ParamByName('typecode').Value:=trim(TypeCodeEdit.Text);
       Parameters.ParamByName('typename').Value:=trim(TypeNameEdit.Text);
       Parameters.ParamByName('price').Value:=trim(PriceEdit.Text);
       Parameters.ParamByName('pprice').Value:=trim(vpfprice);
       Parameters.ParamByName('ordernum').Value:=trim(OrderNumEdit.Text);
       Parameters.ParamByName('pf').Value:=vpf;
      try
       execsql;
      except
       showmessage('增加失败!');
      end;
    end;
//str:='select 类型编号,类型名称,价格,拼房价格,可超预定数,是否可拼房 from 客房类型表 order by 类型编号';
//HotelFm.DataRefresh(RoomTypeAdo,str);
ClearBt.Click;
TypeNameEdit.SetFocus;
end;

procedure TRoomTypeFm.PFClick(Sender: TObject);
begin
PPriceEdit.Clear;
if PF.Checked=true then
PPriceEdit.Enabled:=true
else
PPriceEdit.Enabled:=false;
end;

procedure TRoomTypeFm.CloseBtClick(Sender: TObject);
begin
close;
end;

procedure TRoomTypeFm.FormCreate(Sender: TObject);
begin
str:='select  类型编号,类型名称,价格,拼房价格,可超预定数,是否可拼房 from 客房类型表';
str1:='select max(类型编号) as MaxCode from 客房类型表';
TypeCodeEdit.Text:=HotelFm.GetMaxNum(RoomTypeAdo,str,str1);   //获取最大编号
str:='select  楼层编号,楼层名称 from 楼层编号表';
str1:='select max(楼层编号) as MaxCode from 楼层编号表';
FloodCodeEdit.Text:=HotelFm.GetMaxNum(FloodAdo,str,str1);   //获取最大编号
str:='select count(类型编号) as totle from 客房类型表';
totlepl.Caption:='总记录数:'+inttostr(hotelfm.DataTotle(RoomTypeAdo,str))+'条'; //获取记录总数
str:='select 类型编号,类型名称,价格,拼房价格,可超预定数,是否可拼房 from 客房类型表 order by 类型编号';
HotelFm.DataRefresh(RoomTypeAdo,str);   //刷新数据
str:='select 楼层编号,楼层名称 from 楼层编号表 order by 楼层编号';
HotelFm.DataRefresh(FloodAdo,str);   //刷新数据

//初始化客房设置输入框
TypeNameEdit.Clear;
OrderNumEdit.Text:='0';
PriceEdit.Clear;
PPriceEdit.clear;

⌨️ 快捷键说明

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