Float to Time

28/02/2006

Alguem sabe o método pra transformar um valor float em time?
É para calcular uma taxa,vc digita um valor(2,00) e se tem o tempo,no caso 1:00;
Estou usando +- assim;
edit11.text:=formatFloat(´0.00´,valor);,obtenho os ´reais´ certo agora como poderia tranformar em um tempo equivalente(2 reais=Uma hora)?


Kroki

Respostas

28/02/2006

Marco Salles

o Tipo Ttime no delphi ja é um Float.. ele é um numero de ponto flutuante
Veja por exemplo que a instrução
[b:927a851a67]Showmessage(floattostr(time));[/b:927a851a67] :wink:
Roda sem problemas .. Alem de compilar , ainda retorna uma mensagem contendo un numero , que como eu acabei de dizer é un numero de [b:927a851a67]ponto flutuante[/b:927a851a67]
Este numero ja é devidamente (nos bastitores do delphi) , realizado quase da mesma maneira como a gente aprende no colegial a transformar uo formato HMS em decimal e vice versa
Eu digo Quase da mesma maneira , porque tem algumas pequenas sutilizas , mas são facies de entender

Enfim , na prática acho que o que voce quer é isso:

procedure TForm1.Button1Click(Sender: TObject);
var
valorHora:Currency;
TempoUsado:TTime;
ValorCobrado:real;
begin
try
Showmessage(floattostr(time));
  valorHora:=strtofloat(edtValor.text);
  TempoUsado:=strtoTime(editTime.text);
  ValorcOBRADO:=ValorHora*(TempoUsado*24);
  editCobrado.Text:=formatFloat(´0.00´,valorCobrado);
 except
 on econverterror do
   begin
     beep;
     showmessage(´Valores invalidos´);
   end;
 end;
end;



Responder Citar

28/02/2006

Kroki

Valeu muito cara,provavelmente ja sabe pra que eu quero isso...
To ´atualizando´ um programa de LanHouse.


Responder Citar

28/02/2006

Kroki

Marcos,essa funçao vou utilizar tambem,mas nao consegui fazer ao contrário.
Preciso saber pelo valor quanto tempo se tem,tipo,sabendo-se que a hora custa 2,00 quando digitasse em um Edit o valor digamos 1,00 real apareceria em outro Edit 0:30,pode me ajudar?


Responder Citar