Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-07-2006
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Controlar fecha menor en DateTimePicker

Hola a todos

Quisiera hacer un control en mis DateTimePicker, en el primero se introduce la fecha inicial y en el segundo la fecha final. La fecha final no debe ser nunca menor que la fecha inicial, eso es lo que quiero controlar. Que cuando este cambiando la fecha final y resulte ser menor que la fecha inical me saque un mensaje indicando que no puede cambiar la fecha y la fecha que tenia se mantenga sin cambiar a la nueva fecha, podrian darme una idea de como hacer esto lo intentado pero no he conseguida.

Código Delphi [-]
procedure TForm1.DateTimePicker2Change(Sender: TObject);
begin
     IF DateTimePicker2.DateTHEN
     begin
        showmessage('La Fecha Final debe ser mayor que la Fecha Inicial');
     end;
end;

He intentado primeramente sacar un mensaje, pero con el codigo que he puesto arriba se cicla mi programa. Las pruebas que hice, cuando marco una fecha menor en el mismo mes, me muestra 2 veces el mensaje, pero si le cambio a un mes menor se cicla, no desaparece el mensaje y se nota que empieza a recorrer por todos los meses . Me podrian decir que es lo que pasa por favor, y como hago para no permitirle cambiar la fecha si es menor

Muchisimas gracias por adelantado
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.

Última edición por Caro fecha: 05-07-2006 a las 21:24:37.
Responder Con Cita
  #2  
Antiguo 05-07-2006
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
porque no usas algo asi:
Código Delphi [-]
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
    DateTimePicker2.MinDate := DateTimePciker1.Date;
end;
Responder Con Cita
  #3  
Antiguo 05-07-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Pues yo propongo el siguiente cambio:
Código Delphi [-]
procedure TForm1.FormActivate(Sender: TObject);
begin
DateTimePicker2.MinDate:=DateTimePicker1.Date;
end;

Porque, lo propuesto va a funcionar el 90% de las veces, salvo que el usuario cambie únicamente el DateTimePicker2, entonces al no haber pulsado antes en el 1 no tendría ningún tipo de limitación.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 05-07-2006
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Muchisimas Gracias luisgutierrezb y marcoszorrilla, es lo que necesitaba, pero vi un pequeñito problema, ya sea poniendolo en el evento onchange del dateTimePicker o en el onActivate del formulario.

Por ejemplo, mi fecha ini = 05/07/2006 y mi fecha fin = 21/07/2006
Si en mi DateTimePicker de mi fecha final elijo la fecha 05/07/2006 me saca un mensaje 'Date is less than minimum of 05/07/2006' y me lo cambia a esa fecha al precionar aceptar, el problema esta ahi la fecha ya seria igual a la inicial la cual debe ser mayor, pero si elijo una fecha mucho menor a 05/07/2006 funciona super bien, no me cambia la fecha ni me deja salir del dateTimePicker. Como puedo solucionarlo amigos.
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 05-07-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código Delphi [-]
 procedure TForm1.FormActivate(Sender: TObject);
begin
DateTimePicker2.MinDate:=DateTimePicker1.Date + 1;
end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 06-07-2006
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Muchas Gracias marcoszorrilla
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Fecha del sistema y DateTimePicker ojan69 Varios 8 26-12-2005 18:40:04
DateTimePicker con fecha erronea FGarcia Varios 3 04-12-2005 21:42:30
Fecha Actual en DateTimePicker Barzaugc Varios 1 15-11-2005 17:29:20
Pasar a string la fecha de un DateTimePicker JELIRM Varios 5 30-06-2005 18:41:11
Como puedo hacer consultas de fecha con el componente Datetimepicker Julio César Varios 2 06-07-2003 05:24:51


La franja horaria es GMT +2. Ahora son las 17:44:31.


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