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

📄 unit13.pas

📁 本系统是一个房屋出租方面的管理系统
💻 PAS
字号:
unit Unit13;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, DateUtils;

type
  TFormCZXXJS = class(TForm)
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    Panel2: TPanel;
    Panel3: TPanel;
    BitBtn2: TBitBtn;
    BitBtn1: TBitBtn;
    Label7: TLabel;
    Edit7: TEdit;
    BitBtn3: TBitBtn;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Edit1: TEdit;
    Edit4: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    Label2: TLabel;
    Edit2: TEdit;
    Edit5: TEdit;
    Label6: TLabel;
    Label3: TLabel;
    Edit3: TEdit;
    Edit6: TEdit;
    Label9: TLabel;
    Label10: TLabel;
    Label12: TLabel;
    Label8: TLabel;
    Edit8: TEdit;

    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
   


    
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormCZXXJS: TFormCZXXJS;
  dj,tj :integer;
implementation

uses unit3;
{$R *.dfm}



procedure TFormCZXXJS.BitBtn2Click(Sender: TObject);
begin
   formczxxjs.Close;
end;

procedure TFormCZXXJS.BitBtn1Click(Sender: TObject);
begin
   dj:=10;
   TJ:=20;

   edit8.Clear;
   label10.Caption:='';
   label12.Caption:='';

   if edit1.Text = '' then
      application.MessageBox('房屋编号不能为空!','提示',64)
   else if edit2.Text = '' then
      application.MessageBox('住户编号不能为空!','提示',64)
   else if edit3.Text = '' then
      application.MessageBox('房屋类别不能为空!','提示',64)
   else if edit4.Text = '' then
      application.MessageBox('出租数量不能为空!','提示',64)
   else if edit5.Text = '' then
      application.MessageBox('出租时间不能为空!','提示',64)
   else if edit6.Text = '' then
      application.MessageBox('租房方式不能为空!','提示',64)
   else
   begin
      try
         if (trim(edit3.Text) = '单间') and (trim(edit6.Text) = '月租') then
         begin
            edit8.Text:=inttostr(strtoint(edit4.Text)*dj*(DaysBetween(now,strtodatetime(trim(edit5.Text))) div 30));
            if (DaysBetween(now,strtodatetime(trim(edit5.Text))) mod 30) >= 16 then
            begin
               edit8.Text:=inttostr(strtoint(edit8.Text)+strtoint(edit4.Text)*dj);
               label10.Caption:=inttostr(DaysBetween(now,strtodatetime(trim(edit5.Text))) div 30)+'  月';
               label12.Caption:=inttostr(DaysBetween(now,strtodatetime(trim(edit5.Text))) mod 30)+'  天';
               label10.Visible:=true;
               label12.Visible:=true;
            end
         end
         else if (trim(edit3.Text) = '单间') and (trim(edit6.Text) = '年租') then
         begin
            edit8.Text:=inttostr(strtoint(edit4.Text)*dj*(MonthsBetween(now,strtodatetime(trim(edit5.Text))) div 12));
            if (DaysBetween(now,strtodatetime(trim(edit5.Text))) mod 12) >= 7 then
            begin
               edit8.Text:=inttostr(strtoint(edit8.Text)+strtoint(edit4.Text)*dj);
               label10.Caption:=inttostr(MonthsBetween(now,strtodatetime(trim(edit5.Text))) div 12)+'  年';
               label12.Caption:=inttostr(MonthsBetween(now,strtodatetime(trim(edit5.Text))) mod 12)+'  月';
               label10.Visible:=true;
               label12.Visible:=true;
           end
         end
         else if (trim(edit3.Text) = '套间') and (trim(edit6.Text) = '月租') then
         begin
            edit8.Text:=inttostr(strtoint(edit4.Text)*tj*(DaysBetween(now,strtodatetime(trim(edit5.Text))) div 30));
            if (DaysBetween(now,strtodatetime(trim(edit5.Text))) mod 30) >= 16 then
            begin
               edit8.Text:=inttostr(strtoint(edit8.Text)+strtoint(edit4.Text)*dj);
               label10.Caption:=inttostr(DaysBetween(now,strtodatetime(trim(edit5.Text))) div 30)+'  月';
               label12.Caption:=inttostr(DaysBetween(now,strtodatetime(trim(edit5.Text))) mod 30)+'  天';
               label10.Visible:=true;
               label12.Visible:=true;
           end
         end
         else
         begin
            edit8.Text:=inttostr(strtoint(edit4.Text)*dj*(MonthsBetween(now,strtodatetime(trim(edit5.Text))) div 12));
            if (DaysBetween(now,strtodatetime(trim(edit5.Text))) mod 12) >= 7 then
            begin
               edit8.Text:=inttostr(strtoint(edit8.Text)+strtoint(edit4.Text)*dj);
               label10.Caption:=inttostr(MonthsBetween(now,strtodatetime(trim(edit5.Text))) div 12)+'  年';
               label12.Caption:=inttostr(MonthsBetween(now,strtodatetime(trim(edit5.Text))) mod 12)+'  月';
               label10.Visible:=true;
               label12.Visible:=true;               
            end
         end
         //application.MessageBox('结算租金成功!','提示',64);
      except
         application.MessageBox('结算失败!','提示',64);
         FormCZXXJS.Close;
      end;
   end;

   //结算后被住户所退的房屋应在现有房屋中增加一条并且在住户信息中将其删除
   try
      database.ADO_XYFW.Connection:=database.ADOConnection1;
      database.ADO_XYFW.Close;
      database.ADO_XYFW.SQL.Add('insert into 现有房屋表 values(:a,:b,:c,:d)');
      database.ADO_XYFW.Parameters.ParamByName('a').Value:=trim(edit1.Text);
      database.ADO_XYFW.Parameters.ParamByName('b').Value:=trim(edit3.Text);
      database.ADO_XYFW.Parameters.ParamByName('c').Value:=strtoint('1');
      database.ADO_XYFW.Parameters.ParamByName('d').Value:='空';
      database.ADO_XYFW.ExecSQL;
   except
      application.MessageBox('更新数据库时出错!','提示',64);
      FormCZXXJS.Close;
   end;
   try
      database.ADO_ZHDJZ.Connection:=database.ADOConnection1;
      database.ADO_ZHDJZ.Close;
      database.ADO_ZHDJZ.SQL.Clear;
      database.ADO_ZHDJZ.SQL.Add('delete 住户登记表 where 住户编号=:a');
      database.ADO_ZHDJZ.Parameters.ParamByName('a').Value:=trim(edit2.Text);
      database.ADO_ZHDJZ.ExecSQL;
   except
      application.MessageBox('更新数据库时出错!','提示',64);
      FormCZXXJS.Close;
   end;

end;


procedure TFormCZXXJS.BitBtn3Click(Sender: TObject);
begin
   edit1.Clear;
   edit2.Clear;
   edit3.Clear;
   edit4.Clear;
   edit5.Clear;
   edit6.Clear;
   edit8.Clear;

   label10.Visible:=false;
   label12.Visible:=false;

   if edit7.Text = '' then
      application.MessageBox('住户编号不能为空!','提示',64)
   else
   begin
      try
      database.ADO_CZXXJS.Close;
      database.ADO_CZXXJs.SQL.Clear;
      database.ADO_CZXXJs.SQL.Add('select * from 出租信息表 where');
      database.ADO_CZXXJs.SQL.Add('住户编号');
      database.ADO_CZXXJs.SQL.Add('=');
      database.ADO_CZXXJs.SQL.Add(':a');
      database.ADO_CZXXJS.Parameters.ParamByName('a').Value:=trim(edit7.Text);
      database.ADO_CZXXJS.Open;
      except
         MessageDlg('系统出错!',mtWarning,[MbOK],0);
         FormCZXXJS.Close;
      end;
      if database.ADO_CZXXJS.RecordCount = 0 then
         application.MessageBox('数据库中没有相关记录!','提示',64)
      else
      begin
         edit1.Text:=database.ADO_CZXXJs.Fields[0].Value;
         edit2.Text:=database.ADO_CZXXJs.Fields[1].Value;
         edit3.Text:=database.ADO_CZXXJS.Fields[2].Value;
         edit4.Text:=inttostr(database.ADO_CZXXJS.Fields[3].Value);
         edit5.Text:=datetimetostr(database.ADO_CZXXJs.Fields[4].Value);
         edit6.Text:=database.ADO_CZXXJS.Fields[5].Value;
      end;
   end;
end;

procedure TFormCZXXJS.FormShow(Sender: TObject);
begin
   database.ADO_CZXXJs.Connection:=database.ADOConnection1;
   edit1.Clear;
   edit2.Clear;
   edit3.Clear;
   edit4.Clear;
   edit5.Clear;
   edit6.Clear;
   edit7.Clear;
   edit8.Clear;
   edit7.SetFocus;
   label10.Visible:=false;
   label12.Visible:=false;
end;

end.

⌨️ 快捷键说明

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