roomruzhu.pas

来自「完整的delphi书籍源代码,大家有空的时候自己慢慢看看」· PAS 代码 · 共 177 行

PAS
177
字号
unit RoomRuzhu;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DBCtrls, Mask, StdCtrls, Grids, DBGrids, ExtCtrls;

type
  TRoomRuFrm = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Edit1: TEdit;
    GroupBox2: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    ComboBox1: TComboBox;
    Edit2: TEdit;
    Edit3: TEdit;
    Memo1: TMemo;
    GroupBox3: TGroupBox;
    Label11: TLabel;
    Label12: TLabel;
    Edit5: TEdit;
    Edit6: TEdit;
    Button2: TButton;
    Button1: TButton;
    GroupBox5: TGroupBox;
    Label9: TLabel;
    Label13: TLabel;
    DBGrid2: TDBGrid;
    Label6: TLabel;
    ComboBox2: TComboBox;
    ComboBox3: TComboBox;
    ComboBox4: TComboBox;
    Label7: TLabel;
    ComboBox5: TComboBox;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  RoomRuFrm: TRoomRuFrm;

implementation
  uses DB_Frm;
{$R *.dfm}



procedure TRoomRuFrm.Button2Click(Sender: TObject);
begin
  if (length(Edit1.Text)=0)or(length(Edit2.Text)=0)or(length(combobox1.Text)=0)or(length(Edit5.Text)=0)or(length(Edit6.Text)=0)then
    begin
      if (RadioButton1.Checked=false)and(RadioButton2.Checked=false) then
        Messagedlg('请选择性别!',mtError,[mbOK],0)
      else
        Messagedlg('请输入完备的信息!',mtError,[mbOK],0);
    end
  else              //已经输入完备的记录信息
    begin
      with DBFrm.Room_Table do
        begin
          close;
          indexfieldnames:='Room_id';
          open;
          findkey([ComboBox2.Text]);
          edit;
          fieldbyname('room_id').AsString:=trim(ComboBox2.Text);
          fieldbyname('room_level').AsString:=trim(ComboBox3.Text);
          fieldbyname('Cost').AsString:=trim(ComboBox4.Text);
          fieldbyname('room_state').AsString:='满';
          fieldbyname('customer_name').AsString:=trim(edit1.Text);
          fieldbyname('state_time').AsString:=trim(edit5.Text);
          fieldbyname('end_time').AsString:=trim(edit6.Text);
          if fieldbyname('room_memo').AsString='预定' then
            fieldbyname('room_memo').AsString:='';
          post;
        end;

      with DBFrm.customer_Table do
        begin
          close;
          open;
          append;
          fieldbyname('customer_name').AsString:=trim(edit1.Text);
          fieldbyname('certifi_type').AsString:=trim(ComboBox1.Text);
          fieldbyname('certifi_id').AsString:=trim(edit2.Text);
          fieldbyname('phone').AsString:=trim(edit3.Text);
          fieldbyname('state_time').AsString:=trim(edit5.Text);
          fieldbyname('end_time').AsString:=trim(edit6.Text);
          fieldbyname('memo').AsString:=trim(memo1.Text);
          if RadioButton1.Checked then
            fieldbyname('gender').AsString:=RadioButton1.Caption
          else
            fieldbyname('gender').AsString:=RadioButton2.Caption;
          post;
        end;

      with DBFrm.roombene_Table do
        begin
          close;
          open;
          append;
          fieldbyname('customer_name').AsString:=trim(edit1.Text);
          fieldbyname('room_id').AsString:=trim(ComboBox2.Text);
          fieldbyname('cost').AsString:=trim(ComboBox4.Text);
          fieldbyname('state_time').AsString:=trim(edit5.Text);
          fieldbyname('end_time').AsString:=trim(edit6.Text);
          post;
        end;
    end;
end;

procedure TRoomRuFrm.Button1Click(Sender: TObject);
begin
  if messagedlg('确实要删除该记录吗?',mtinformation,[mbOK,mbCancel],0)=mrOK then
    begin
      DBFrm.customer_Table.Delete;
    end;    
end;

procedure TRoomRuFrm.FormCreate(Sender: TObject);
var
  qrystring:string;
  count,i:integer;
  temp_roomid,temp_cost,temp_roomlevel,temp_memo:array[1..50]of string;
begin
  qrystring:='select * from Room where Room_state='+''''+'空'+'''';
  with DBFrm.Room_Query do
    begin
      close;
      SQL.Clear;
      SQL.Add(qrystring);
      open;
      first;
      count:=recordcount;
      for i:=1 to count do
        begin
          temp_roomid[i]:=fieldbyname('Room_id').asstring;          //查找“空房号“
          temp_roomlevel[i]:=fieldbyname('Room_level').asstring;
          temp_cost[i]:=fieldbyname('cost').asstring;
          temp_memo[i]:=fieldbyname('Room_memo').asstring;
          next;
        end;
    end;
  for i:=1 to count do
    begin
      ComboBox2.Items.Add(temp_roomid[i]);
      ComboBox3.Items.Add(temp_roomlevel[i]);
      ComboBox4.Items.Add(temp_cost[i]);
      ComboBox5.Items.Add(temp_memo[i]);
    end; 
end;

procedure TRoomRuFrm.ComboBox2Change(Sender: TObject);
var
  i:integer;
begin
  i:=ComboBox2.Items.IndexOf(ComboBox2.Text);
  ComboBox3.Text:=ComboBox3.Items[i];
  ComboBox4.Text:=ComboBox4.Items[i];
  ComboBox5.Text:=ComboBox5.Items[i];
end;

end.

⌨️ 快捷键说明

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