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

📄 pas_house.pas

📁 比较详细的功能
💻 PAS
字号:
unit pas_house;

interface

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

type
  TForm_house = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Edit_no: TEdit;
    Edit_addr: TEdit;
    Edit_tel: TEdit;
    Edit_rent: TEdit;
    Label10: TLabel;
    Edit_remarks: TEdit;
    Cb_rentunit: TComboBox;
    cb_landlord: TComboBox;
    ToolBar1: TToolBar;
    select: TSpeedButton;
    ToolButton5: TToolButton;
    add: TSpeedButton;
    ToolButton3: TToolButton;
    selecteveryth: TSpeedButton;
    ToolButton7: TToolButton;
    valid: TSpeedButton;
    ToolButton1: TToolButton;
    unValid: TSpeedButton;
    ToolButton2: TToolButton;
    setUnvalid: TSpeedButton;
    ToolButton4: TToolButton;
    setvalid: TSpeedButton;
    DBGrid: TDBGrid;
    Label7: TLabel;
    Label8: TLabel;
    cb_ht: TComboBox;
    cb_area: TComboBox;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    procedure addClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure n(Sender: TObject);
    procedure cb_areaDropDown(Sender: TObject);
    procedure cb_htDropDown(Sender: TObject);
    procedure Cb_rentunitDropDown(Sender: TObject);

    procedure selecteverything();
    procedure selectvalid();
    procedure selectunvalid();
    procedure selectClick(Sender: TObject);
    procedure selecteverythClick(Sender: TObject);
    procedure validClick(Sender: TObject);
    procedure unValidClick(Sender: TObject);
    procedure setUnvalidClick(Sender: TObject);
    procedure setvalidClick(Sender: TObject);
    procedure DBGridCellClick(Column: TColumn);
    procedure DBGridDblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);

  private

    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form_house: TForm_house;

implementation
   uses pas_dm, pas_area, pas_houseType, pas_landlord;
{$R *.dfm}

procedure TForm_house.addClick(Sender: TObject);
var
   s:string;
begin

    if (edit_no.Text='')  or (cb_area.Text='')
              or (cb_ht.Text='') or (cb_landlord.Text='')
               or (edit_rent.Text='')
              or  (cb_rentunit.Text='')
   then
   begin
        showmessage('带*号不能为空');
        exit;
   end;
   with pas_dm.DM.Query_house do
     begin
        close;
        sql.Clear;
        sql.Add('select * from house where h_no='''+edit_no.Text+'''');
        open;
        if recordcount>0 then
        begin
          showmessage('房子编号重复,请重输编号');
          edit_no.SetFocus;
          exit;
        end;
     end;

      try
          with pas_dm.DM.Query_house do
          begin
          Close;
          SQL.Clear;
          s:='insert into house(H_no,h_addr,h_area,h_ht,h_landlord,h_tel,'+
             ' h_rent,h_rentunit,h_remarks,h_validorno ) '+
                'values('''+trim(edit_no.Text)+''','''+
                trim(edit_addr.Text)+''','''+trim(cb_area.Text)+''','''+
                trim(cb_ht.Text)+''','''+trim(cb_landlord.Text)+''','''+trim(edit_tel.Text)+''','''+
                trim(edit_rent.Text)+''','''+trim(cb_rentunit.Text)+''','''+trim(edit_remarks.Text)+''',1)';
                  SQL.Add(s);
          ExecSQL;
          showmessage('添加 '+edit_no.Text+' 成功!');
          end;
          except
          showmessage('添加'+edit_no.Text+'失败!原因自己看着办');
        end;
        selectvalid();
   end;

procedure TForm_house.Button2Click(Sender: TObject);
begin
end;

   { if  not (key in ['0','1',#8,#13]) then
    begin
      beep;
      showmessage('只能输入‘0’或‘1’,‘0’表示没有租,‘1’表示已经租');
      key:=#0;
    end;    }



procedure TForm_house.n(Sender: TObject);
var
 s:string;
begin
  try
  with dm.AQ1 do
  begin
    close;
    sql.Clear;
    s:='select l_no from landlord';
    sql.Add(s);
    open;
  end;
   cb_landlord.Items.Clear;
    while not dm.AQ1.Eof do
    begin
      cb_landlord.Items.Add(dm.AQ1.Fields.Fields[0].AsString);
      dm.AQ1.Next;
      end;
  except
    showmessage('something wrong');
  end;
end;

procedure TForm_house.cb_areaDropDown(Sender: TObject);
var
 s:string;
begin
  try
  with dm.AQ1 do
  begin
    close;
    sql.Clear;
    s:='select a_name from area';
    sql.Add(s);
    open;
  end;
   cb_area.Items.Clear;
    while not dm.AQ1.Eof do
    begin
      cb_area.Items.Add(dm.AQ1.Fields.Fields[0].AsString);
      dm.AQ1.Next;
      end;
  except
    showmessage('something wrong');
  end;
end;

procedure TForm_house.cb_htDropDown(Sender: TObject);
var
 s:string;
begin
  try
  with dm.AQ1 do
  begin
    close;
    sql.Clear;
    s:='select ht_name from housetype';
    sql.Add(s);
    open;
  end;
   cb_ht.Items.Clear;
    while not dm.AQ1.Eof do
    begin
      cb_ht.Items.Add(dm.AQ1.Fields.Fields[0].AsString);
      dm.AQ1.Next;
      end;
  except
    showmessage('something wrong');
  end;
end;

procedure TForm_house.Cb_rentunitDropDown(Sender: TObject);
var
 s:string;
begin
  try
  with dm.AQ1 do
  begin
    close;
    sql.Clear;
    s:='select ru_name from rentunit';
    sql.Add(s);
    open;
  end;
   cb_rentunit.Items.Clear;
    while not dm.AQ1.Eof do
    begin
      cb_rentunit.Items.Add(dm.AQ1.Fields.Fields[0].AsString);
      dm.AQ1.Next;
      end;
  except
    showmessage('something wrong');
  end;
end;

procedure TForm_house.selecteverything;
begin
   with pas_dm.DM.Query_house do
  begin
    close;
    sql.Clear;
    sql.Add('select h_no 房子编号,h_addr  房子地址, h_area 所属区域,h_ht 户型,h_landlord 房东,h_tel 电话,h_rent 参考房租,h_rentunit 租金单位, h_remarks 备注  from house ');
    open;
  end;
end;

procedure TForm_house.selectunvalid;
begin
   with pas_dm.DM.Query_house do
  begin
    close;
    sql.Clear;
    sql.Add('select h_no 房子编号,h_addr  房子地址, h_area 所属区域,h_ht 户型,h_landlord 房东,h_tel 电话,h_rent 参考房租,h_rentunit 租金单位, h_remarks 备注  from house where h_validorno=0');
    open;
  end;
end;

procedure TForm_house.selectvalid;
begin
   with pas_dm.DM.Query_house do
  begin
    close;
    sql.Clear;
    sql.Add('select h_no 房子编号,h_addr  房子地址, h_area 所属区域,h_ht 户型,h_landlord 房东,h_tel 电话,h_rent 参考房租,h_rentunit 租金单位, h_remarks 备注  from house where h_validorno=1');
    open;
  end;
end;

procedure TForm_house.selectClick(Sender: TObject);
var
  s:string;
begin
   
     s:= ' where h_no like ''%'+trim(edit_no.Text)+'%'' ';

     with pas_dm.DM.Query_house do
     begin
        close;
        sql.Clear;
        sql.Add('select h_no 房子编号,h_addr  房子地址, h_area 所属区域,h_ht 户型,h_landlord 房东,h_tel 电话,h_rent 参考房租,h_rentunit 租金单位, h_remarks 备注  from house '+s);

        open;
     end;
end;

procedure TForm_house.selecteverythClick(Sender: TObject);
begin
  selecteverything();
end;

procedure TForm_house.validClick(Sender: TObject);
begin
  selectvalid();
end;

procedure TForm_house.unValidClick(Sender: TObject);
begin
  selectunvalid();
end;

procedure TForm_house.setUnvalidClick(Sender: TObject);
var
  s:string;
begin
   with pas_dm.DM.Query_house do
   begin
   if IDOK=messagebox(handle,pchar('编号为 '+dbgrid.Fields[0].AsString+' 的房子将被设为无效'),'警告', MB_OKCANCEL)
   then
   begin
   try
   s:=dbgrid.Fields[0].AsString;
   Close;
   SQL.Clear;
   SQL.Add('update house set h_validorno=0 where h_no='''+s+'''');
   ExecSQL;
   except
      showmessage('出错');
   end;
   if  RowsAffected=1 then
   begin
      showmessage(s+'设置无效成功');
   end;
   end;
   end;
   selectvalid();
end;

procedure TForm_house.setvalidClick(Sender: TObject);
var
  s:string;
begin
   with pas_dm.DM.Query_house do
   begin
   if IDOK=messagebox(handle,pchar('编号为 '+dbgrid.Fields[0].AsString+' 的房子将被设为有效'),'警告', MB_OKCANCEL)
   then
   begin
   try
   s:=dbgrid.Fields[0].AsString;
   Close;
   SQL.Clear;
   SQL.Add('update house set h_validorno=1 where h_no='''+s+'''');
   ExecSQL;
   except
      showmessage('出错');
   end;
   if  RowsAffected=1 then
   begin
      showmessage(s+'设置有效成功');
   end;
   end;
   end;
   selectvalid();
end;
procedure TForm_house.DBGridCellClick(Column: TColumn);
begin
with pas_dm.DM.Query_house do
   begin
   if dbgrid.FieldCount=0 then
   begin
    showmessage('没有打开数据库');
    exit;
   end;
    if dbgrid.Fields[0].AsString='' then
    begin
    showmessage('数据库没有数据');
    exit;
    end;
    edit_no.Text:=Fields.Fields[0].AsString;
    edit_addr.Text:=Fields.Fields[1].AsString;
    cb_area.Text:=Fields.Fields[2].AsString;
    cb_ht.Text:=Fields.Fields[3].AsString;
    cb_landlord.Text:=Fields.Fields[4].AsString;
    edit_tel.Text:=Fields.Fields[5].AsString;
    edit_rent.Text:=Fields.Fields[6].AsString;
    cb_rentunit.Text:=Fields.Fields[7].AsString;
    edit_remarks.Text:=Fields.Fields[8].AsString;
  end;
 end;


procedure TForm_house.DBGridDblClick(Sender: TObject);
var
  s: string;
begin 
with pas_dm.DM.Query_house do
 begin
 if dbgrid.FieldCount=0 then
   begin
    showmessage('没有打开数据库');
    exit;
   end;
    if dbgrid.Fields[0].AsString='' then
    begin
    showmessage('数据库没有数据');
    exit;
    end;
    s:= dbgrid.Fields[0].AsString;
 end;
   with   pas_dm.DM.AQ1 do
   begin
    close;
    sql.Clear;
    sql.Add('select h_no,valid= case h_validorno when ''1'' then ''有效'' else ''无效'' end from house where h_no='''+trim(s)+'''');
    open;
    showmessage(trim(dm.AQ1.Fields.Fields[0].AsString)+' 是'+dm.AQ1.Fields.Fields[1].AsString+'的');
    close;
    sql.Clear;
 end;
end;

procedure TForm_house.FormShow(Sender: TObject);
begin
  selectvalid();
end;

procedure TForm_house.SpeedButton1Click(Sender: TObject);
begin
         if application.FindComponent('form_area')=nil then
      begin
         application.CreateForm(Tform_area,form_area);
      end;
      try
         form_area.Show;
      except
         showmessage('窗口显示错误');
         form_area.Free;
         form_area:=nil;
       end;
end;

procedure TForm_house.SpeedButton2Click(Sender: TObject);
begin
     if application.FindComponent('form_housetype')=nil then
      begin
         application.CreateForm(Tform_housetype,form_housetype);
      end;
      try
         form_housetype.Show;
      except
         showmessage('窗口显示错误');
         form_housetype.Free;
         form_housetype:=nil;
       end;
end;

procedure TForm_house.SpeedButton3Click(Sender: TObject);
begin
        if application.FindComponent('form_landlord')=nil then
      begin
         application.CreateForm(Tform_landlord,form_landlord);
      end;
      try
         form_landlord.Show;
      except
         showmessage('窗口显示错误');
         form_landlord.Free;
         form_landlord:=nil;
       end;
end;

procedure TForm_house.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if   Key   =   VK_F4   then
      begin
          add.Click;
          Key   :=   0;
          exit;
      end;
      if   Key   =   VK_F1  then
      begin
          select.Click;
          Key   :=   0;
          exit;
      end;
end;

end.

⌨️ 快捷键说明

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