Fórum Problemas com cálculos de datas #323096

08/06/2006

0

boa tarde

preciso fazer uma subtração em 2 datas que estão informadas em meu sistema, a primeira por exemplo 30/01/2006 e a 2º 15/01/2006 as duas vindas de edit´s, porém preciso fazer a operação sem as barras e deve no exemplo me retornar o valor 15, alguém tem idéia como posso efetuar a operação, a principio se que preciso inverter os valores e depois fazer a subtração como posso fazer isso?

tipo... 20060130
- 20060115
________
00000015

Desde já muito obrigado.


Gtts

Gtts

Responder

Posts

08/06/2006

Marco Salles

function Subtrair(editf,editi:String):String;
var
datai,dataf:TDateTime;
begin
result:=´Data Inválida´;
if TryStrToDate(editi,datai) then
    if TryStrToDate(editf,dataf) then
      begin
        if dataf >= datai Then
          result:=inttostr(trunc(dataf-datai))
        else
          result:=´A DataFinal tem que ser maior que a data Inicial)´;
      end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
edit3.Text:=Subtrair(edit1.Text,edit2.text);
end;



//[b:4b7c464be6]Opcional[/b:4b7c464be6]..Garante o formato de Data independende do sistema windows
procedure TForm1.FormShow(Sender: TObject);
begin
dateSeparator:=´/´;
LongdateFormat:=´dd/mm/yyyy´;
end;



Responder

Gostei + 0

09/06/2006

Gtts

funcionou blza.

obrigado pela ajuda Marco Salles. :o


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar