📄 mc_fwxzgl.pas
字号:
unit MC_FWXZGL;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBTables, Db, Grids, DBGrids, DBCtrls, StdCtrls, Buttons, ExtCtrls,Variants;
type
TFWXZGL = class(TForm)
GroupBox1: TGroupBox;
DBLookupComboBox1: TDBLookupComboBox;
GroupBox2: TGroupBox;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Query1: TQuery;
Query1BDEDesigner: TStringField;
Query1BDEDesigner2: TStringField;
DataSource2: TDataSource;
Table1: TTable;
Table1BDEDesigner: TStringField;
Table1BDEDesigner2: TStringField;
Table1BDEDesigner7: TStringField;
GroupBox3: TGroupBox;
DBGrid3: TDBGrid;
DataSource4: TDataSource;
GroupBox4: TGroupBox;
Table2: TTable;
Table2BDEDesigner: TStringField;
Table2BDEDesigner2: TStringField;
Table2BDEDesigner3: TStringField;
Table2BDEDesigner4: TStringField;
Table2BDEDesigner5: TStringField;
Table2BDEDesigner6: TStringField;
Table2BDEDesigner7: TStringField;
Table2BDEDesigner8: TStringField;
Table2BDEDesigner9: TStringField;
Table2BDEDesigner10: TStringField;
Table2BDEDesigner11: TStringField;
Table2BDEDesigner12: TStringField;
Table2BDEDesigner13: TStringField;
Table2BDEDesigner14: TStringField;
Table2BDEDesigner15: TFloatField;
Table2BDEDesigner16: TFloatField;
Table2BDEDesigner17: TFloatField;
Table2BDEDesigner18: TFloatField;
Table2BDEDesigner19: TStringField;
Label1: TLabel;
ComboBox1: TComboBox;
Label2: TLabel;
Edit1: TEdit;
BitBtn1: TBitBtn;
GroupBox5: TGroupBox;
DBGrid2: TDBGrid;
Table3: TTable;
DataSource3: TDataSource;
Table3BDEDesigner: TStringField;
Table3BDEDesigner2: TStringField;
Table3BDEDesigner3: TStringField;
Table3BDEDesigner4: TStringField;
Table3BDEDesigner5: TStringField;
Table3BDEDesigner6: TDateTimeField;
Table3BDEDesigner7: TDateTimeField;
Table3BDEDesigner8: TFloatField;
Table3BDEDesigner9: TFloatField;
Table3BDEDesigner10: TFloatField;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
Query2: TQuery;
Bevel2: TBevel;
BitBtn6: TBitBtn;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Bevel3: TBevel;
Label3: TLabel;
Query3: TQuery;
DataSource5: TDataSource;
DBLookupComboBox2: TDBLookupComboBox;
DBLookupComboBox3: TDBLookupComboBox;
DBLookupComboBox4: TDBLookupComboBox;
Label4: TLabel;
Label5: TLabel;
Query4: TQuery;
DataSource6: TDataSource;
DataSource7: TDataSource;
Query5: TQuery;
CheckBox1: TCheckBox;
Table3BDEDesigner11: TFloatField;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FWXZGL: TFWXZGL;
implementation
uses MC_ZFDJ, MC_XZGL, MC_MainForm;
{$R *.DFM}
procedure TFWXZGL.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FWXZGL.Release;
FWXZGL:=Nil;
end;
procedure TFWXZGL.FormShow(Sender: TObject);
begin
ComboBox1.ItemIndex:=0;
DBLookupComboBox2.KeyValue:=Query3.FieldByName('房屋朝向').AsString;
DBLookupComboBox3.KeyValue:=Query4.FieldByName('房间结构').AsString;
DBLookupComboBox4.KeyValue:=Query5.FieldByName('房间类别').AsString;
if MainForm.Query1.Locate('使用选项','房租信息管理',[loCaseInsensitive]) then
begin
if MainForm.Query1.FieldByName('读写').asString='读' then
begin
BitBtn2.Enabled:=False;
BitBtn3.Enabled:=False;
Bitbtn4.Enabled:=False;
end;
end;
end;
procedure TFWXZGL.BitBtn1Click(Sender: TObject);
begin
if Table1.RecordCount<>0 then
//if not Table2.Locate(ComboBox1.Items[ComboBox1.ItemIndex],Edit1.Text,[loPartialKey]) then
if CheckBox1.Checked=True then
begin
if Not Table2.Locate(comboBox1.Items[ComboBox1.ItemIndex]+';朝向;房间结构;房间类别;'
,VarArrayof([Edit1.Text,DBLookupComboBox2.KeyValue,DBLookupComboBox3.KeyValue
,DBLookupComboBox4.KeyValue]),[loCaseInsensitive]) then
ShowMessage('对不起,没有找到!');
end
else
if not Table2.Locate(ComboBox1.Items[ComboBox1.ItemIndex],Edit1.Text,[loPartialKey]) then
ShowMessage('对不起,没有找到!');
end;
procedure TFWXZGL.BitBtn5Click(Sender: TObject);
begin
Close;
end;
procedure TFWXZGL.BitBtn2Click(Sender: TObject);
begin
if Table2.RecordCount<>0 then
if Table2.FieldByName('是否空闲').AsString='出租' then
begin
ShowMessage('此房已经出租.');
end
else
begin
if Not Assigned(ZFDJ) then
begin
ZFDJ:=TZFDJ.Create(Self);
ZFDJ.Label2.Caption:=Table2.FieldByName('房间编号').AsString;
ZFDJ.ComboBox1.ItemIndex:=0;
ZFDJ.ShowModal;
end;
end;
end;
procedure TFWXZGL.BitBtn3Click(Sender: TObject);
begin
if table2.RecordCount<>0 then
if Table3.RecordCount<>0 then
begin
if Not Assigned(XZGL) then
begin
XZGL:=TXZGL.Create(Self);
XZGL.Label2.Caption:=Table3.FieldByName('房间代号').AsString;
XZGL.Label12.Caption:=Table3.FieldByName('姓名').AsString;
XZGL.Label13.Caption:=Table3.FieldByName('性别').AsString;
XZGL.Label14.Caption:=Table3.FieldByName('身份证号').AsString;
XZGL.Label15.Caption:=Table3.FieldByName('联系方式').AsString;
XZGL.DateTimePicker1.Date:=Table3.FieldByName('起租日期').AsDateTime;
XZGL.DateTimePicker2.Date:=Table3.FieldByName('截止日期').AsDateTime;
//XZGL.Edit4.Text:=Table3.FieldByName('应收租金').AsString;
//XZGL.Edit5.Text:=Table3.FieldByName('实收租金').AsString;
//XZGL.Edit6.Text:=Table3.FieldByName('本次余额').AsString;
XZGL.Edit4.Text:='0';
XZGL.Edit5.Text:='0';
XZGL.Edit6.Text:='0';
XZGL.Edit1.Text:=Table3.FieldByName('余款金额').AsString;
XZGL.Edit1.Text:=Table3.FieldByName('余款金额').AsString;
XZGL.ShowModal;
end;
end;
end;
procedure TFWXZGL.BitBtn4Click(Sender: TObject);
begin
if Table3.RecordCount<>0 then
if Table3.FieldByName('余款金额').AsFloat<0 then
ShowMessage('此人欠房租费['+Table3.FieldbyName('余款金额').AsString+']元')
else
if MessageDLG('是否终止['+Table3.FieldByName('姓名').AsString+']的房屋租借合同!'
,mtCustom,[mbYes,mbNo],0)=mrYes then
begin
//-----------------------------------------------------------------
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Insert 房租费费用历史表(房间代号,姓名,性别,身份证号,联系方式,起租日期,截止日期,应收租金,实收租金,余款金额,本次余额)');
Query2.SQL.Add('Values(:A,:B,:C,:D,:E,:F,:G,:H,:J,:I,:K)');
Query2.ParamByName('A').AsString:=Table3.FieldByName('房间代号').AsString;
Query2.ParamByName('B').AsString:=Table3.FieldByName('姓名').AsString;
Query2.ParamByName('C').AsString:=Table3.FieldByName('性别').AsString;
Query2.ParamByName('D').AsString:=Table3.FieldByName('身份证号').AsString;
Query2.ParamByName('E').AsString:=Table3.FieldByName('联系方式').AsString;
Query2.ParamByName('F').AsDateTime:=Table3.FieldByName('起租日期').AsDatetime;
Query2.ParamByName('G').AsDateTime:=Table3.FieldByName('截止日期').AsDatetime;
Query2.ParamByName('H').AsFloat:=Table3.FieldByName('应收租金').AsFloat;
Query2.ParamByName('J').AsFloat:=Table3.FieldByName('实收租金').AsFloat;
Query2.ParamByName('I').AsFloat:=Table3.FieldByName('余款金额').AsFloat;
Query2.ParamByName('K').AsFloat:=Table3.FieldByName('本次余额').AsFloat;
Query2.ExecSQL;
//-----------------------------------------------------------------
Table2.Edit;
Table2.FieldByName('承租人姓名').AsSTring:='';
Table2.FieldbyName('是否空闲').AsString:='空闲';
Table2.Post;
Table3.Delete;
//-----------------------------------------------------------------
end;
end;
procedure TFWXZGL.BitBtn6Click(Sender: TObject);
begin
if MessageDLG('是否结算并保存费用信息?',mtCustom,[mbYes,mbNo],0)=mrYes then
begin
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Insert 房租费费用历史表(房间代号,姓名,性别,身份证号,联系方式,起租日期,截止日期,应收租金,实收租金,余款金额)');
Query2.SQL.Add('Select 房间代号,姓名,性别,身份证号,联系方式,起租日期,截止日期,应收租金,实收租金,余款金额 From 房租费用表');
Query2.ExecSQL;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Update 房租费用表 Set 实收租金=0,起租日期=截止日期');
Query2.ExecSQL;
end;
end;
procedure TFWXZGL.RadioButton3Click(Sender: TObject);
begin
Table2.Filtered:=False;
end;
procedure TFWXZGL.RadioButton2Click(Sender: TObject);
begin
Table2.Filter:='是否空闲<>''空闲''';
Table2.Filtered:=True;
end;
procedure TFWXZGL.RadioButton1Click(Sender: TObject);
begin
Table2.Filter:='是否空闲=''空闲''';
Table2.Filtered:=True;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -