Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Convertir n horas en nnn días y nn horas (https://www.clubdelphi.com/foros/showthread.php?t=80877)

rretamar 01-08-2008 10:16:33

Convertir n horas en nnn días y nn horas
 
Código:

// Convertir n horas en "nnn días nn horas"
Function Dias_Horas(Horas: Integer): String;
Var
  Dias: Integer;
  Valor_Negativo: Boolean;
Begin
  Result:=IntToStr(Horas)+' hs';
  If Horas > 24 Then // Agregar días(s)  (formato "compuesto")
    Begin
      Valor_Negativo:=Horas < 0;
      Horas:=Abs(Horas);    // Usar valor absoluto
      Dias:=Horas Div 24;
      Horas:=Horas Mod 24;
      if Dias=1 Then        // Mostrar "día" en singular o plural
        Result:=Format('%d día %d hs',[Dias, Horas])
      Else
        Result:=Format('%d días %d hs',[Dias, Horas]);
      if Valor_Negativo then Result:='-' + Result; // Agregar signo "menos" al formato "compuesto" de horas       
    End;
End;


Neftali [Germán.Estévez] 01-08-2008 10:16:34

En ese truco haces referencia a:
FPrincipal.Abreviar_Horas

Supongo que debe ser algo que tienes en tu formulario. Para que sea modular, debes convertr eso en otro parámetro de la función. Además de que cualquiera que la utilice, le fallará porque no encontrará esa referencia.

NOTA: Ya que has distinguido singular y plural para los días, podeías haber hecho lo mismo para las horas. De esta forma, "ni chicha ni limoná" (como se suele decir); Lo has dejado a medias...



La franja horaria es GMT +2. Ahora son las 18:09:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi