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... |
|
|
|