Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-03-2005
alfredosg19 alfredosg19 is offline
Miembro
 
Registrado: ene 2005
Ubicación: Barcelona
Posts: 91
Poder: 20
alfredosg19 Va por buen camino
Problemas con el Time.

Hola a todos, tengo un problema al comparar dos horas, para compararlas lo paso todo a un integer, pero tengo el problema de que la hora tiene 2 puntos. Entonces guardo la posición del carácter ':' y después hago la fórmula.
El problema es que cuando la hora está entre las 0:00 y las 9:59 ningún problema (es decir que la hora solo tiene un dígito) si tiene dos dígitos siempre da error. ¿Hay algún error en la fórmula o puede hacerse de otra manera?. Muchas gracias por vuestra ayuda.
Código:
 Hora:=(Time);
 Hora:=hora+1;
 c:=Pos(':',TimetoStr(hora));
 d:=Pos(':',TimetoStr(hora2));
 lbhoraa.Caption:=TimetoStr(Time);
 a:=(StrtoInt(copy(TimetoStr(hora),0,c-1))*3600)+(StrtoInt(copy(TimetoStr(hora),c,2))*60){+(StrtoInt(copy(TimetoStr(hora),c+4,2)));
 b:=(StrtoInt(copy(TimetoStr(hora2),0,d-1))*3600)+(StrtoInt(copy(TimetoStr(hora2),c,2))*60){+(StrtoInt(copy(TimetoStr(hora2),c+4,2)));
__________________
"La perseverancia es el camino del éxito"
Responder Con Cita
  #2  
Antiguo 29-03-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Te recomiendo que eches una visual a la función HoursBetween, por ejemplo, desde la ayuda puedes acceder a todas las rutinas que hay en la unidad DateUtils, que son extensas y permite comparar fechas/horas de una forma muy comoda.

Una sugerencia, nunca uses comparaciones de hora (TTime), siempre usa comparaciones de fecha y hora (TdateTime), de esta forma siempre obtendrás los resultados correctos:

Funciones que te serviran:
RecodeDate
RecodeTime
RecodeDatetime
EncodeTime
EncodeDatetime
HoursBetween
MinutesBetween
etc.

Un saludo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:47:39.


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
Copyright 1996-2007 Club Delphi