duplicata com vencimento sempre para o dia 10?

Delphi

15/07/2006

Olá usei o exemplo do assunto mas estou com esse problema como eu faço para gerar duplicatas sempre para um dai determinado, 10,20,30 sei lá.
Será que alguém pode me ajudar?

Valeu


Juniorprog

Juniorprog

Curtidas 0

Respostas

Marco Salles

Marco Salles

15/07/2006

nun entendi muito bem

mas coloque um edit no seu form aonde sera informado o dia que voce quer..

coloque um botão e escrava

function GerarDuplicataDetreminadaData(Dia:Word):Tdate;
var
ano,mes,diaAtual:Word;
Data:TdateTime ;
begin
   decodedate(date,ano,mes,diaAtual);
   if TryEncodeDate(ano,mes,dia,data) then
     result:=Data
   else
     begin
      showmessage(´Sua Mensagem De Erro´);
      abort;
     end;
end;


para chamar a função

procedure TForm1.Button1Click(Sender: TObject);
var
DiaVencimento:integer;
begin
 if trystrtoint(edit1.Text,diaVencimento) then
 showmessage(datetostr(GerarDuplicataDetreminadaData(DiaVencimento)));
end;



GOSTEI 0
Doni

Doni

15/07/2006

Junior

para controlar os proximos vencimento basta usar incMonth() de uma olhada neste comando.

acredito que vai te ajudar.


GOSTEI 0
Juniorprog

Juniorprog

15/07/2006

muito obrigado vou fazer o teste para ver se da certo.


GOSTEI 0
Marco Salles

Marco Salles

15/07/2006

Pode ir com fê . Qualquer coisa estamos ai


GOSTEI 0
Juniorprog

Juniorprog

15/07/2006

Valeu marcos e doni, consegui fazer para pegar o dia deu certinho mas essa função pega os valores do mes atual como consigo dar continuidade uso para criar as duplicatas o comando while será que alguém pode me ajudar ou me passar alguma amostra de como usar o comando incMonth() que o doni falou?

Obrigado galera.


GOSTEI 0
Marco Salles

Marco Salles

15/07/2006

Para dar continuidade , voce deve alem dos dia fornecer a quantidade de duplicadas a gerem geradas

Tipo isso :

function GerarDuplicataDetreminadaData(Dia:Word;Data:TDatetime):Tdate;
var
ano,mes,diaAtual:Word;
begin
   decodedate(data,ano,mes,diaAtual);
   if TryEncodeDate(ano,mes,dia,data) then
     result:=Data
   else 
     begin
      showmessage(´Sua Mensagem De Erro´);
      abort;
     end; 
end;


procedure TForm1.Button1Click(Sender: TObject);
var
DiaVencimento,QuantDeDuplicadas,i:integer;
Data:TDate;
begin
 if trystrtoint(edit1.Text,diaVencimento) then
   if trystrtoint(edit2.Text,QuantDeDuplicadas) then
     begin
       Data:=Date;
       i:=1;
       While  i<= QuantDeDuplicadas do
         begin
           showmessage(datetostr(
               GerarDuplicataDetreminadaData(DiaVencimento,
               IncMonth(Data,i))));
           i:=i+1;
         end;
     end
   else
     begin
      Showmessage(´ERROR : Digite un numero inteiro válido´);
      Edit2.SetFocus;
     end;
end;



GOSTEI 0
Juniorprog

Juniorprog

15/07/2006

valeu marcos vou levar para casa e tentar, cara vc não imagina como esta me ajudando valeu mesmo, precisando de qualquer coisa é só pedir velho.


Valeu


GOSTEI 0
Marco Salles

Marco Salles

15/07/2006

Pode ir com fê . Qualquer coisa estamos ai



GOSTEI 0
POSTAR