Array
(
)

Transformar integer em time

Jc_analista
   - 24 ago 2004

Como transformar um integer em time, alguem sabe ?


Nildo
   - 24 ago 2004

Como assim? Em que formato está esse Integer? Pode dar mais explicações, por favor?


Jc_analista
   - 24 ago 2004

Eu tenho uma integer que e incrementada através de um timer ela pode chegar com um caracter, dois, tres, até 9 mas se eu souber como que transforma, eu faço uma rotina que testa o tamanho do integer e transforma para time (hh:mm:ss).
Espero que tenha entendido.


Jc_analista
   - 24 ago 2004

Eu tenho uma integer que e incrementada através de um timer ela pode chegar com um caracter, dois, tres, até 9 mas se eu souber como que transforma, eu faço uma rotina que testa o tamanho do integer e transforma para time (hh:mm:ss).
Espero que tenha entendido.


Nildo
   - 24 ago 2004

Voce tem um Integer (121020) e quer transformar em (12:10:20)?


Jc_analista
   - 24 ago 2004

Não as vezes o integer pode ser 1 ou 6909 ou 300 e variavel. Por exemplo se for 30 quer dizer que é 30 segundos a formatacao ficaria assim 00:00:30.


Nildo
   - 24 ago 2004

A variavel do tipo TTime é um TDateTime que por sua vez é um Double. Creio que se você substituir este Integer por Double pode-se usar normalmente como sendo um TTime.


Rômulo Barros
   - 24 ago 2004

Entaum quer dizer que esse seu interger é representa apenas os segundo?
Ex: 300 é igual a: 00:05:00

é isso?


Nildo
   - 24 ago 2004

A variavel do tipo TTime é um TDateTime que por sua vez é um Double. Creio que se você substituir este Integer por Double pode-se usar normalmente como sendo um TTime.


Jc_analista
   - 24 ago 2004

é, representa os segundos


Rômulo Barros
   - 24 ago 2004

:arrow: Obs: O código abaixo não foi testado.

#Código


...
Var
intSegundos : Integer;
wdHoras, wdMinutos, wdSegundos : Word;
begin
wdHoras := 0;
wdMinutos := 0;
wdSegundos := 0;

intSegundos := 3600; // Informe aqui o número de segundos

While intSegundos >= 3600 Do // Capturando as horas
Begin
wdHoras := wdHoras + 1;
intSegundos := intSegundos - 3600;
End;

While(intSegundos >= 60)Do // Capturando os Minutos
Begin
wdMinutos := wdMinutos + 1;
intSegundos := intSegundos - 60;
End;

wdSegundos := intSegundos; // Capturando os Segundos

ShowMessage(FormatDateTime(´hh:mm:ss´,StrToTime(IntToStr(wdHoras) + ´:´ + IntToStr(wdMinutos) + ´:´ + IntToStr(wdSegundos))));


:wink: :wink: :wink: :wink: :wink: :wink: :wink: