Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-02-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 20
rgstuamigo Va por buen camino
Arrow

Quisas seria mejor utilizar el evento OnCloseUp ya que el componente
TDateTimePicker no cuenta con un evento OnSelect como un TComboBox.
Segun veo seria el mas adecuado para tu caso..
Saludos.
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #2  
Antiguo 27-02-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Lo malo con el CloseUp es que el usuario puede cambiar la fecha en el control sin abrir el calendario. Por otra parte, como ya han observado, el evento OnChange se produce dos veces cuando se selecciona la fecha en el calendario, pero, además, el usuario puede desplazarse de fecha con las teclas de flecha estando abierto el calendario, y cada cambio generaría la consulta a la base, aun cuando el usuario cancele y la fecha finalmente no cambie.

Creo que lo ideal sería utilizar otro control mejor hecho. Probé con el DateEdit de la biblioteca RX y funciona mejor pero éste genera dos OnChange si el cambio de fecha se hace desde el edit en lugar del calendario. Quizá en la biblioteca Jedi lo hayan corregido.

Por lo pronto, parece que no queda de otra que controlar uno mismo el cambio de fecha llevando registro de la última fecha seleccionada y generando la consulta sólo si realmente ha cambiado. Pero también hay que controlar el cambio que menciono con las teclas de flecha, pues lo detectaríamos como cambio antes de saber si el usuario realmente selecciona esa fecha.

Este evento OnChange, de plano hace caso omiso de cualquier cambio realizado mientras el calendario está abierto:

Código Delphi [-]
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
  if not DateTimePicker1.DroppedDown then
  begin
    {
      Aquí la consulta a la base
    }

    LastDate := DateTimePicker1.DateTime;
  end;
end;

Sólo funciona si el calendario está cerrado. Para cuando esté abierto entonces usamos el evento OnCloseUp:

Código Delphi [-]
procedure TForm1.DateTimePicker1CloseUp(Sender: TObject);
begin
  if DateTimePicker1.DateTime <> LastDate then
  begin
    {
      Aquí la consulta a la base
    }

    LastDate := DateTimePicker1.DateTime;
  end;
end;

LastDate sería una variable de tipo TDate declarada en el formulario.

// Saludos
Responder Con Cita
  #3  
Antiguo 27-02-2009
Lizette Lizette is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 19
Lizette Va por buen camino
Gracias Roman
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
quickreport+fecha seleccionada n03l Impresión 6 17-02-2007 18:41:35
Tengo un lio con cierto código David OOP 11 13-10-2006 21:07:34
Fecha del sistema y DateTimePicker ojan69 Varios 8 26-12-2005 19:40:04
Fecha Actual en DateTimePicker Barzaugc Varios 1 15-11-2005 18:29:20
Ejecutar aplicacion delphi cada cierto tiempo mgaray API de Windows 9 28-01-2005 20:16:20


La franja horaria es GMT +2. Ahora son las 06:44:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi