Como trabalhar com 2 opção de Venc. do Parc.?
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
Curtidas 0
Respostas
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..
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
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
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..
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
14/09/2005
O problema é que eu não estou sabendo chamar essa função :oops:
Ex.:´VencParc := F_Vencimento;´
...seria assim?
Ex.:´VencParc := F_Vencimento;´
...seria assim?
GOSTEI 0
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;
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
14/09/2005
Bzl... Obrigado Cabelo pela atenção!
GOSTEI 0