Como trabalhar com 2 opção de Venc. do Parc.?

Delphi

14/09/2005

Olá pessoal tô com uma pequana dúvida, eu esta no forum e achei uma forma de gerar a data do vencimento de N parcelas, estou usando isso aqui: ´VencParc := IncMonth(Date, I);´ . Só que ela pega o dia e acrescenta a qtd de meses referente a qtd de parcelas. Teria uma forma para que o cliente que escolhesse a melhor data para ele pagar? se caso ele não escolha essa data fique sempre no final de cada mês.


Joule

Joule

Curtidas 0

Respostas

Cabelo

Cabelo

14/09/2005

De mão beijada hein.. :D rsss...

function Tform1.F_Vencimento(l_index, l_vencimento : Integer;
l_data_ini : TDateTime) : TDateTime;
var v_dia, v_mes, v_ano : Word;
v_data : TDateTime;
begin
Result := 0;
if l_index = 0 then
begin
v_data := IncMonth(l_data_ini);
DecodeDate(v_data, v_ano, v_mes, v_dia);
v_dia := l_vencimento;
try
v_data := EncodeDate(v_ano, v_mes, v_dia);
except
try
v_dia := v_dia - 1;
v_data := EncodeDate(v_ano, v_mes, v_dia);
except
v_data := IncMonth(l_data_ini);
end;
end;
Result := v_data;
end
else if l_index = 1 then
begin
Result := l_data_ini + l_vencimento;
end;
end;

Espero ter ajudado..


GOSTEI 0
Joule

Joule

14/09/2005

Cabelo, desculpe minha ignorância eu estou usando isso aqui certo: ´VencParc := IncMonth(Date, I);´ então após colocar sua função eu irei declara assim: ´VencParc := F_Vencimento;´?


GOSTEI 0
Cabelo

Cabelo

14/09/2005

Colega..

Vc deve usar a função para calcular as datas de vencimentos de determinadas parcelas, informadas pelo usuário, assim como as datas de vencimento..

essa função retorna as datas mes a mes.. independente do mês ter 28, 29, 30 ou 31 dias..

ex :

se for 4 parcelas e venc dia 15

15/09/2005
15/10/2005
15/11/2005
15/12/2005

se for 3 parcelas e venc dia 31

30/09/2005
31/10/2005
30/11/2005

entendeu ??

se for ano bissexto para o mês de fevereiro, ele faz as consistências..

um abraço..


GOSTEI 0
Joule

Joule

14/09/2005

O problema é que eu não estou sabendo chamar essa função :oops:
Ex.:´VencParc := F_Vencimento;´
...seria assim?


GOSTEI 0
Cabelo

Cabelo

14/09/2005

falta por um for..

tem que adicionar uma radiogroup para indicar se é por período ou dia fixo..

variavel := data inicial do parcelamento.. 1º vencimento..
for v_i := 1 to numparcelas do
begin
variavel := F_Vencimento(radiogroup.itemindex, dia do vencimento,
variavel);
end;


GOSTEI 0
Joule

Joule

14/09/2005

Bzl... Obrigado Cabelo pela atenção!


GOSTEI 0
POSTAR