Hola
INT = Integer.
REAL = Float.
Es simple, la funcion debe devolver un valor REAL (float), sin envargo contiene o trasforma los edits en INTEGER.
Analiza esto:
Código Delphi
[-]
Function TForm1.TransformaTiempo:Real;
var h,m,s : Real;
Begin
h:= StrToint(EdHora.Text);
m:= StrToint(EdMin.Text);
s:= StrToint(EdSeg.Text);
TransformaTiempo:= h*3600 + m*60 + s;
End;
procedure TForm1.Button1Click(Sender: TObject);
begin
MemoBat.lines.add('shutdown /s /t '+FloatToStr(TransformaTiempo));
MemoBat.lines.SaveToFile(ExtractFilePath(Application.ExeName)+'apagar.bat');
WinExec(PChar(ExtractFilePath(Application.ExeName)+'apagar.bat'),SW_SHOWNORMAL);
MemoBat.lines.clear;
end;
Se generan tres variable REAL y se les pasa el valor de los edit, a la hora de hacer el calculo es mucho mas sencillo hacerlo ya que no se tiene que hacer ninguna transformacion.
Espero que lo asimiles, si no pregunta.
Saludos