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 28-09-2005
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
Cita:
Empezado por ingel
No comprendo porque decis que no va a pasar por el else , si esta evaluando el if ....
Es que hay un pequeño error en lo que dice vtdeleon

Cita:
Empezado por vtdeleon
Al momento de dar click en el boton cancelar, este toma el foco y despues ejecuta tu codigo, por lo tanto nunca entrara en el Else. Trata de manejar esto de otra forma
Es al contrario. Al momento de dar click en el botón, primero se ejecuta el OnExit y luego el botón toma el foco. Por eso tu else no se ejecuta nunca pues en el momento del OnExit el foco sigue estando en el Edit.

// Saludos
Responder Con Cita
  #2  
Antiguo 28-09-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 26
vtdeleon Va por buen camino
Saludos
Cita:
Empezado por roman
Es que hay un pequeño error en lo que dice vtdeleon
Oops. Creí que el codigo expuesto estaba en el evento Onclick del Boton Cancelar
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #3  
Antiguo 29-09-2005
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 244
Poder: 24
ingel Va por buen camino
y como puedo solucionarlo ?

tengo forma de saber que me presioanron el boton cancelar aunque el foco siga en el edit?
Evidentemente la propiedad focused no me sirve?
Saludos
Gracias
Ingel
Responder Con Cita
  #4  
Antiguo 29-09-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por ingel
tengo forma de saber que me presioanron el boton cancelar aunque el foco siga en el edit?
Creo que ahí hay una contradicción, puesto que, si se hace clic en el botón obviamente el foco estará en el botón y no en el "edit"... ¿no es así?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 29-09-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 26
vtdeleon Va por buen camino
Saludos

que use Un TSpeedButton, que este no obtiene el foco.

Creo que debe haber un analisis mejor sobre el manejo del eventos
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #6  
Antiguo 29-09-2005
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 244
Poder: 24
ingel Va por buen camino
no se donde estara el foco ...

pero lo primero que se ejecuta , al clickear el boton cancelar es el evento OnExit del EDIT ( o me equivoco ? ) . Debe haber una forma de saber que se presiono el boton cancelar ( voy a decir una antiguedad , pero tipo el Lastkey de clipper .. ) ..probe poniendo un showmessage en todos los eventos del boton .. pero siempre ejecuta el OnExit del Edit ...
(El foco sigue en el Edit.. edit.focused me da true en el evento onexit)
SAludos
Ingel
Responder Con Cita
  #7  
Antiguo 29-09-2005
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
Vamos a recapitular.

Para empezar, cuando vtdleon dijo al principio:

Cita:
Empezado por vtdleon
Al momento de dar click en el boton cancelar, este toma el foco y despues ejecuta tu codigo, por lo tanto nunca entrara en el Else.
él tenía toda la razón, yo estaba equivocado, lo cual se puede verificar simplemente poniendo:

Código Delphi [-]
procedure TForm1.Edit1Exit(Sender: TObject);
begin
  Assert(Button1.Focused);
end;

La aserción será cierta si se oprime el botón y falsa en cualquier otro caso.

Yo le propongo a ingel que exponga desde el comienzo lo que quiere hacer porque semánticamente es raro lo que originalmente puso:

Código Delphi [-]
if not bcancelar.focused then ejecutarcodigo
else bCancelarClick(self);

Esto está diciendo: "Si no se oprimió el botón Cancelar ejecútese algo, de lo contrario oprímase Cancelar" pero lo contrario es que sí se oprimió así que ¿para qué volver a hacerlo?

// Saludos
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


La franja horaria es GMT +2. Ahora son las 07:31:48.


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