¿Y que te parecería una función que devuelva la hora en varios formatos (entero, flotante, string)?
Es decir, yo le enviaría la hora en el formato de la máquina y que devolviese el valor en distintas escalas. Se me ocurriría una llamada así:
Código Delphi
[-]ghGetHour(ghFormato,Now);
Donde ghFormato sea el formato de destino.
0 = Integer.
1 = Double.
2 = String corto (hh:mm) [formato 12 horas]
3 = String corto (HH:mm) [formato 24 horas]
4 = String largo (HH:mm.ss) [formato 24 horas con segundos]
5 = String largo (HH:mm.ss mmm) [formato 24 horas con segundos y milisegundos]
Ahí me platicas, compadre, si te "late" la idea como para ingresarla a tu librería.