Ver Mensaje Individual
  #7  
Antiguo 23-04-2007
Avatar de aldmoscardi
aldmoscardi aldmoscardi is offline
Miembro
 
Registrado: oct 2006
Posts: 38
Reputación: 0
aldmoscardi Va por buen camino
hola, con esta funcion convierto los minutos a horas

Código Delphi [-]
Function TDmod.MinToHours(minutos : Integer) : String;
var
    min      : String;
    Horas    : String;
    TotHs    : String;
    TotMin   : String;
begin
Decimalseparator := '.';
horas  := FloatToStr(minutos / 60);
min    := FloatToStr((Frac(minutos / 60) * 60));

TotHs  := FloatToStr(Int(StrToFloat(horas)));
TotMin := FloatToStrF(StrToFloat(min), FFFixed,1,0);
if Length(TotHs) = 1 then
  begin
    TotHs := '0' + FloatToStr(Int(StrToFloat(horas)));
  end;
if Length(TotMin) = 1 then
  begin
    TotMin := '0' + FloatToStrF(StrToFloat(min), FFFixed,1,0);
  end;
result :=  Toths + ':' + TotMin;
end;

///////////////////////////////////
la funcion para pasar de horas a minutos seria algo asi como:

Código Delphi [-]
Function HoursToMin(Horas : String) : Integer;
var
    CanHoras    : Integer;
    CanMinutos : Integer;
begin
   canHoras    := StrToInt(Copy(horas,0,2));
   CanMinutos := StrToInt(copy(horas, 3, 5));
   Result := CanHoras + CanMinutos; 
end;

Esta funcion retorna la hora en formati munutos, tene en cuenta que un dia tiene 1440 minutos al ser numeros enteres poder realizar todas las operaciones que desees y luego pasas ese resultado a la funcion minutos to horas y te retorna en formato hh:mm
Esto es un rebusque interesante ya que en el acces trabajar en formato de horas es un verdadero problema
saludos espero te sea util.
Responder Con Cita