📄 contract.~pas
字号:
procedure TContractForm.Add_ModifyRTable;
var
times,per,year,month,i:integer;
{times: zuqi; per: fukuanqixian; }
sum: double;
starttime,day,temps:string;
begin
per:=1;
with DataContrls.CTable do
begin
Edit;
times:=StrToInt(DBEdit4.Text); // 租期字段
temps:=DBComboBox1.Text; // 付款期限字段
if temps= '按月' then per:=1
else if temps= '按季' then per:=3
else if temps= '半年' then per:=6
else if temps= '按年' then per:=12;
starttime:=DBEdit5.Text; // 起租日期字段
year:=StrToInt(starttime[1]+starttime[2]+starttime[3]+starttime[4]);
month:=StrToInt(starttime[5]+starttime[6]);
day:=starttime[7]+starttime[8];
sum:=0;
for i:=0 to (times div per)-1 do
begin
with DataContrls.RTable do
begin
Insert;
FieldByName('合同号').AsString:=DBEdit1.Text;
if month<10 then
FieldByName('应收日期').AsString:=IntToStr(year)+'0'+IntToStr(month)+day
else
FieldByName('应收日期').AsString:=IntToStr(year)+IntToStr(month)+day;
FieldByName('应收金额').AsInteger:=StrToInt(DBEdit7.Text)*per; // 月租金*付款期限
sum:=sum+StrToInt(DBEdit7.Text)*per;
post
end;
if ((month+per) mod 12)=0 then // 计算下一次交租金的时间:年和月
begin
year:=year+(month+per) div 12-1;
month:=12;
end
else
begin
year:=year+(month+per) div 12;
month:=(month+per) mod 12;
end;
end;
if month<10 then
DBEdit6.Text:=IntToStr(year)+'0'+IntToStr(month)+day //到期日期
else
DBEdit6.Text:=IntToStr(year)+IntToStr(month)+day;
DBEdit9.Text:=FloatToStr(sum); // 租金总额
end;
end;
procedure TContractForm.TabSheet2Show(Sender: TObject);
var
today: integer;
begin
today:=strtoint(CalTodayDate);
with DataContrls.CTable do
begin
ContractTimed.clear;
ContractCutted.clear;
Disablecontrols;
First;
while not Eof do
begin
if (FieldByName('到期日期').Asstring <> '')
and (FieldByName('标志').Asstring <> '2') then
begin
ContractCutted.Items.Append(FieldByName('合同号').Asstring);
if FieldByName('到期日期').Asinteger <=today then
ContractTimed.Items.Append(FieldByName('合同号').Asstring);
end;
Next;
end;
EnableControls;
end;
end;
procedure TContractForm.ContractTimedChange(Sender: TObject);
var
sum:double;
begin
sum:=0;
DataContrls.CTable.Locate('合同号',ContractTimed.text,[]);
MustSum.text:=DataContrls.CTable.FieldByName('租金总额').Asstring;
with DataContrls.RTable do
begin
Disablecontrols;
First;
while not Eof do
begin
if (FieldByName('合同号').Asstring =ContractTimed.Text) and
(FieldByName('实收金额').Asstring<>'')then
sum:=sum+FieldByName('实收金额').AsFloat;
Next;
end;
EnableControls;
NowSum.Text:=FloatToStr(sum);
ContractNum:=ContractTimed.Text;
end;
end;
procedure TContractForm.FinishButtonClick(Sender: TObject);
var
temp:string;
begin
if ContractNum<>''then // 是否已经选了要处理合同号
begin
with DataContrls.CTable do
begin
Locate('合同号',ContractNum,[]);
Edit;
FieldByName('标志').Asstring:='2'; //已不是有效合同
Post;
end;
with DataContrls.HTable do // 修改房产数据表中相关数据
begin
Close;
Open;
Disablecontrols;
First;
while not Eof do
begin
if (FieldByName('合同号').Asstring =ContractNum) then
begin
Edit;
FieldByName('合同号').Asstring:='';
FieldByName('状态').Asstring:='';
Post;
DataContrls.CTable.Edit;
temp:=' '+DataContrls.CTable.FieldByName('备注').Asstring;
DataContrls.CTable.FieldByName('备注').Asstring:=temp
+' '+FieldByName('房屋号').Asstring+' ';
DataContrls.CTable.Post;
end;
Next;
end;
Enablecontrols;
end;
with DataContrls.RTable do // 修改租金数据表中相关数据
begin
Close;
Open;
Disablecontrols;
First;
while not Eof do
begin
if (FieldByName('合同号').Asstring =ContractNum) then
begin
Edit;
FieldByName('标志').Asstring:='2';
Post;
end;
Next;
end;
Enablecontrols;
end;
ShowMessage('此合同已为无效合同,数据已备案.');
end;
end;
procedure TContractForm.SearchButtonClick(Sender: TObject);
begin
if SearchContent.text<>'' then
begin
with DataContrls.CTable do
begin
Disablecontrols;
case number of
1 :
if Locate('合同号',SearchContent.Text,[]) then
EnableControls
else ShowMessage('没有此合同号!');
2 :
if Locate('联系人',SearchContent.Text,[]) then
EnableControls
else ShowMessage('没有此租主!');
3 :
if Locate('乙方单位',SearchContent.Text,[]) then
EnableControls
else ShowMessage('没有此单位!');
end;
end;
end;
end;
procedure TContractForm.RadioButton1Click(Sender: TObject);
begin
number:=1; // 按合同号查询
MLabel.caption:='合同号:';
with DataContrls.CTable do
begin
DisableControls;
SearchContent.clear;
First;
while not EOF do
begin
SearchContent.Items.Append(FieldByName('合同号').AsString);
Next;
end;
EnableControls;
end;
end;
procedure TContractForm.RadioButton2Click(Sender: TObject);
begin
number:=2; // 按租主名查询
MLabel.caption:='租主姓名:';
with DataContrls.CTable do
begin
DisableControls;
SearchContent.Clear;
First;
while not EOF do
begin
SearchContent.Items.Append(FieldByName('联系人').AsString);
Next;
end;
EnableControls;
end;
end;
procedure TContractForm.RadioButton3Click(Sender: TObject);
begin
number:=3; // 按租用单位查询
MLabel.caption:='租用单位:';
with DataContrls.CTable do
begin
DisableControls;
SearchContent.Clear;
First;
while not EOF do
begin
SearchContent.Items.Append(FieldByName('乙方单位').Asstring);
Next;
end;
EnableControls;
end;
end;
procedure TContractForm.ContractCuttedChange(Sender: TObject);
var
sum:double;
begin
sum:=0;
ContractNum:=ContractCutted.text;
DataContrls.CTable.Locate('合同号',ContractNum,[]);
MustSum.text:=DataContrls.CTable.FieldByName('租金总额').AsString ;
with DataContrls.RTable do
begin
Disablecontrols;
First;
while not Eof do
begin
if (FieldByName('合同号').Asstring =ContractCutted.text) and
(FieldByName('实收金额').AsString<>'')then
sum:=sum+FieldByName('实收金额').Asfloat;
Next;
end;
EnableControls;
NowSum.text:=floattostr(sum);
end;
end;
procedure TContractForm.BitBtn1Click(Sender: TObject);
begin
Close;
end;
procedure TContractForm.BitBtn2Click(Sender: TObject);
begin
Close;
end;
procedure TContractForm.BitBtn3Click(Sender: TObject);
begin
Close;
end;
procedure TContractForm.BitBtn4Click(Sender: TObject);
begin
Close;
end;
procedure TContractForm.ModifyButtonClick(Sender: TObject);
begin
MainDBGrid.ReadOnly:=False;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -