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 11-11-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
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.
__________________

Responder Con Cita
  #2  
Antiguo 11-11-2005
Avatar de OSKR
OSKR OSKR is offline
Miembro
 
Registrado: nov 2004
Ubicación: San Cristóbal/Táchira/Venezuela
Posts: 389
Poder: 20
OSKR Va por buen camino
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).
Responder Con Cita
  #3  
Antiguo 11-11-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Al menos en Delphi7 existe la función MinutesBetween, que devuelve la diferencia en minutos entre dos variables tipo TDateTime.

Cita:
Empezado por Ayuda de Delphi
MinutesBetween

Returns the number of minutes between two specified TDateTime values.

Unit

DateUtils

Category

date/time routines

Description

Call MinutesBetween to obtain the difference, in minutes, between two TDateTime values. MinutesBetween counts only entire minutes. Thus, MinutesBetween reports the difference between 9:00:00 AM and 9:00:59:999 AM as 0 because the difference is one millisecond short of an entire minute.
Un saludo
Responder Con Cita
  #4  
Antiguo 12-11-2005
CRIS CRIS is offline
Miembro
 
Registrado: jul 2003
Posts: 63
Poder: 21
CRIS Va por buen camino
Solucionado bajando los tiempos en el ini en milisegundos:

Código Delphi [-]
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
tiempo1:variant;
tiempo2:variant;
nValor,ErrCode:Integer;
begin
tiempo1:=edit2.text;
tiempo2:=edit3.Text;
diferenciavuelta.Text:= (tiempo2)-(tiempo1);
val(diferenciavuelta.Text,nValor,Errcode);
    if nValor > StrToInt('2000') then
    mensaje.Caption:='Vuelta Mala, 2 Seg +'
    else
    mensaje.Caption:='Vuelta Buena';
 if diferenciavuelta.Text='2000' then mensaje.Caption:='Vuelta Mala, 2 Seg +';

end;

end.

Muchas gracias a todos y un Salu2.CRIS.
Responder Con Cita
  #5  
Antiguo 12-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
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.
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 03:17:53.


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