📄 pas_house.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 + -