![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
|
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;
|
|
#2
|
||||
|
||||
|
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... |
![]() |
|
|
|