![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Los datos los pillo de un fichero.ini que me bajo de internet, el label1 pilla el dato del ini y el label2 pilla el dato de un fichero de texto que esta encriptado, lo que necesito es comparar los dos tiempos y si es mayor de dos segundos que me devuelva un mensaje de, la vuelta rapida supera en dos segundos el record de la pista.
Neftali estas dos cosas son las que me ocurre ¿No entiend las funciones? ¿No se cómo usarlas? pd. el saludo y las gracias nunca pueden faltar. Salu2.CRIS. |
|
#2
|
|||
|
|||
Hasta aqui llego chicos, pero me da horas minutos y segundos. |
|
#3
|
||||
|
||||
|
Supongo que de "diferencia" tendrías que usar DecodeDateTime para obtener los segundos y luego una simple comparación para ver si es mayo o no a 2 segundos. DecodeDateTime viene muy bien explicado en la ayuda de delphi, presionando F1 sobre la palabra. O tal vez solo comparando Dierencia.
__________________
|
|
#4
|
||||
|
||||
|
Código:
DecodeTime(StrToTime("00:"+label1->Caption),h1,m1,s1,ms1);
DecodeTime(StrToTime("00:"+label2->Caption),h1,m2,s2,ms2);
if( abs(((m1*60*1000+s1*1000+ms1)-(m2*60*1000+s2*1000+ms2))/(1000*60)) >= 2)
//hay por lo menos 2 segundos de diferencia
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad." Simón Bolívar (Carta al Coronel Inglés Patricio Cambell 05/08/1829). |
|
#5
|
||||
|
||||
|
Al menos en Delphi7 existe la función MinutesBetween, que devuelve la diferencia en minutos entre dos variables tipo TDateTime.
Cita:
|
|
#6
|
|||
|
|||
|
Solucionado bajando los tiempos en el ini en milisegundos:
Muchas gracias a todos y un Salu2.CRIS. |
|
#7
|
||||
|
||||
|
CRIS, ten cuidado, ese código es "muy perezoso", y puedes tener muchos problemas con él. Deberías leer de nuevo las soluciones que te han propuesto.
Razones: - Val intenta convertir el diferencia.Text en Nvalor, si no se puede convertir, Devuelve el ErrCode, que despues no lo usas para nada, El valor que tenga nvalor puede estar indefinido, o peor aún, será cero, indicando que ha hecho la mejor vuelta posible, cuando en realidad no es cierto. - Estas realizando conversiones innecesarias: if nValor > StrToInt('2000') quizás if nValor > 2000- Que jamás se ejecute tu programa entre las 23:59:00 y las 0:00:00, como no controlas las fechas, dará casi 24 horas de diferencia. Por tus mensajes, deduzco que tienes prisas en terminarlo. Para el reloj y estudia las funciones de fechas, vienen muy bien en la ayuda, y si despues tienes preguntas, estaremos por aquí. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|