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 11-12-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por creus
Necesitaria saber si hay alguna instrucción especifica para que, al cabo de unos segundos determinados sin que hayamos tocado ni el teclado ni el ratón, la aplicación se cierre automaticamente.

Creo que la opción del Timer que te han dado es la correcta.
Coloca un Timer, con un Intervalo segun el tiempo de inactividad que necesites;

Con el siguiente código puedes detectar la actividad de teclado oratón y en consecuencia "resetear" el timer:

Código Delphi [-]
  // RATON
  if (Msg.message = WM_MOUSEMOVE) then begin
    --> Aquí "resetea el TIMER"
  end
  // TECLAS
  else begin
    // Pulsada tecla...
    if  (Msg.message = WM_KEYDOWN)     or (Msg.message = WM_KEYUP)       or
        (Msg.message = WM_SYSKEYDOWN)  or (Msg.message = WM_SYSKEYUP)    or
        (Msg.message = WM_ACTIVATE)    or (Msg.message = WM_NCACTIVATE)  or
        (Msg.message = WM_ACTIVATEAPP) or
        (Msg.message = WM_LBUTTONDOWN) or
        (Msg.message = WM_RBUTTONDOWN) or (Msg.message = WM_MBUTTONDOWN) then begin
        --> Aquí "resetea el TIMER"
    end;
  end;

Necesitas colocar un componente ApplicationEvents en tu form principal, y en el evento OnMessage colocar este código.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #2  
Antiguo 11-12-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Creo que con un ejemplo se ve más claro.
A ver si esto lo que necesitas.
Archivos Adjuntos
Tipo de Archivo: zip Ejemplo_1.zip (2,3 KB, 18 visitas)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 11-12-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Hola Neftali, tu ejemplo esta muy bien, pero tiene el mismo problema que encontraron en el hilo anterior. Si un usuario se esta moviendo por el menú de la aplicación, los eventos del ratón no se disparan. Así que si un usuario se entretiene, moviéndose por los menús puede que se le cierre la aplicación.
Responder Con Cita
  #4  
Antiguo 11-12-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Hoy debo de estar dormido, acabo de borrar un mensaje en el que hablaba de fechas y demás. No se en que estaba pensando, pero lo que si es verdad es que a veces tu ejemplo Neftali no se para al llegar a cero, sino que comienza a contar hacia adelante. supongo que es algún problema con la comparación:

Código Delphi [-]
  if ((_af - _ah) <= 0) then begin

Aunque no veo cual puede ser el fallo.

Edito:
Si coloco esto:
Código Delphi [-]
  if ((_af - _ah) <= _ad) then
  begin
    Windows.Beep(500,100);
    Application.Terminate;
  end;

Al terminar la cuenta, se comienzan a oir los pitido pero la aplicacion no se cierra . Esto solo pasa si estoy viendo alguno de los menus de la aplicacion, ¿La instruccion Application.Terminate no funciona si esta abierto el menu? Ahora si que estoy desconcertado.

Última edición por seoane fecha: 11-12-2006 a las 15:20:53.
Responder Con Cita
  #5  
Antiguo 11-12-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
En cuanto al primer IF no he conseguido que me pase.
En el segundo estoy igual que tú. Un poco (bastante) sorprendido. He probado con el menú y efectivamente, si estás "paseando" por el menú ignora el Terminate/Close.

En algun lugar debe estar "comiendose" esos mensajes.
Cuando tenga un rato me lo miro. Si descubrís algo más, comentadlo aquí; Ya es tema de curiosidad.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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
Asignacion Automatica frholguin Varios 9 19-10-2006 10:24:54
búsqueda automática fergape Varios 4 04-05-2006 18:48:53
DLL parámetros de salida (OUT) PedroAlfonso API de Windows 9 05-03-2005 21:27:16
Orden de Salida kwan Varios 7 09-12-2003 02:11:31
Prevenir la salida de la aplicación negama Varios 3 31-05-2003 03:05:02


La franja horaria es GMT +2. Ahora son las 08:11:52.


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