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 12-08-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 Sr.Scorpion
Ahora pregunto yo.... no seria mucho que a cada 10 mseg. se este ejecutando una accion, traiga esto como consecuencia algun error en la aplicacion o que esta intervenga en la ejecucion de otra o algo por el estilo ???
No te lo puedo asegurar pero dudo que hay problema. Si cada 10 ms exportaras una tabla de 100,000 registros seguramente habría algún problema pero el código que se ejecutaría en el OnTimer es sumamente rápido.

// Saludos
Responder Con Cita
  #2  
Antiguo 12-08-2005
Avatar de Sr.Scorpion
Sr.Scorpion Sr.Scorpion is offline
Miembro
 
Registrado: mar 2005
Posts: 92
Poder: 22
Sr.Scorpion Va por buen camino
bueno pues entonces .... caso resuelto. Se queda el Timer que es mas abarcador que el OnKeyDown. Mil Gracias Roman por tus consejos.

Saludos
__________________
La paciencia es un árbol de raíz amarga pero de frutos muy dulces.

Sr.Scorpion
Responder Con Cita
  #3  
Antiguo 13-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Vamos a ver... yo estoy utilizando el procedimiento tal como lo mostré arriba en un editor de texto: muestro en una barra de estado, entre otras cosas, el estado de las teclas que nos ocupan. Utilizo el evento "OnKeyUp" del formulario en que está el editor para llamar al procedimiento "ActualizarBarraEstado" y también llamo a dicho procedimiento cuando es preciso, por ejemplo, cuando se abre un archivo en el editor, pero también en otros lugares... pues bien, ¡no tengo en absoluto ningún problema, puede verse el editor funcionando, en lo que toca a ese aspecto, perfectamente!
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 13-08-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 dec
Utilizo el evento "OnKeyUp" del formulario en que está el editor para llamar al procedimiento "ActualizarBarraEstado" y también llamo a dicho procedimiento cuando es preciso, por ejemplo, cuando se abre un archivo en el editor, pero también en otros lugares
Este es precisamente el punto. De la forma que propongo sólo tienes que preocuparte en un lugar. En el XEditor, si oprimes CapsLock o NumLock estando tu aplicación inactiva, la barra de estado no se actualiza sino hasta que la vuelves a activar. De hecho, tal como lo tienes ahora podrías lograrlo usando una componente TApplicationEvents y poniendo el código en su evento OnIdle con lo cual la barra de estado estaría siempre al día al menos mientras esté activa la aplicación, pero el problema es cuando no está activa. Es un problema menor, tan sólo de apariencia, pero yo prefiero que la barra se actualice aun sin estar activa la aplicación.

// Saludos
Responder Con Cita
  #5  
Antiguo 13-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

roman, lo que dices sobre XEditor bien puede ser cierto, pero, seguro que habrá formas de arreglarlo. Yo, por mi parte, he preparado el siguiente ejemplo, muy sencillo, pero que, muestra a las claras cómo creo que puede solucionarse el asunto: salvando que, como tú dices, cuando la aplicación no esté activa no se dará cuenta de los cambios en las teclas especiales que nos ocupan: como digo, no creo que sea mayor problema solucionarlo, bien como tú dices, utilizando el evento "OnIdle" u otro parecido. En todo caso ahí está el ejemplo.

Actualización: Por cierto, roman, es posible que no uses XEditor hace tiempo puesto que haciendo compruebo que bastaría hacer clic con el ratón en el mismo para que la barra de estado se actualizase, esto es, no sería preciso "comenzar a escribir". Tal vez todavía esta no sea la mejor solución, pero, no me descontenta para el caso.

Otra actualización: Soy estúpido a las veces. Acabo de probar lo que decías roman de utilizar el evento "OnIdle" y XEditor va de lujo así, mucho mejor, mucho más serio, como más pendiente de lo que le toca. He actualizado también el ejemplo adjunto de manera que también hace uso del evento susomentado. Gracias roman.
Archivos Adjuntos
Tipo de Archivo: zip ejemplo.zip (2,1 KB, 42 visitas)
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 14-08-2005 a las 00:17:14. Razón: (actualización)
Responder Con Cita
  #6  
Antiguo 13-08-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:
He actualizado también el ejemplo adjunto de manera que también hace uso del evento susomentado.
????
He probado el "ejemplo", y no actualiza el statusbar cuando no esta activo:s,minimizado o en segundo plano.
__________________
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
  #7  
Antiguo 14-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

vtdeleon, ¿seguro que bajaste la actualización del ejemplo? ¿Te fijaste si se hace ya uso del evento "OnIdle"? A mí me funciona, esto es, tal como cabe esperar del mencionado evento: no es que se actualize la barra de estado "automáticamente", pero, cuando se produce el evento.

Cita:
Empezado por roman
Ahora, según la documentación, la comparación tendría que hacerse así:
Código Delphi [-]
  if GetKeyState(VK_CAPITAL) and 1 = 1 then
    ...
¿De dónde sacaste la información roman? Si hay que hacerlo de ese modo, entonces, ¿porqué funciona con algo así simplemente?

Código Delphi [-]
  if GetKeyState(VK_CAPITAL) = 1 then
    ...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #8  
Antiguo 14-08-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 vtdeleon
y no actualiza el statusbar cuando no esta activo:s,minimizado o en segundo plano.
Por eso digo que el OnIdle presenta el mismo "problema". Es por ello que me inclino por el timer.

// 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 08:26:35.


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