Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-07-2007
Ricardo Alfredo Ricardo Alfredo is offline
Miembro
 
Registrado: may 2003
Ubicación: Santiago - Chile
Posts: 65
Poder: 21
Ricardo Alfredo Va por buen camino
actividad en la aplicacion

Alguien sabe como puedo detectar si el usuario que esta conectado ha realizado alguna actividad en el sistema.

les explico el problema , hay ocaciones que el usuario se conecta al sistema , realiza diferentes actividades y finalmente se dedica hacer otra cosa, ver el correo, escribir documentos word o simplemente se va a almorzar, todo esto sin salir de la aplicacion por lo tanto sigue conectado pero sin actividad alguna en el sistema.

la idea es colocar algun timer de 15 minutos por ejemplo, en donde si no ha realizado ninguna actividad sacarlo de la aplicacion hacer un quit.

esto porque , en este caso al cliente le cobran por conexion viva en la base datos, entonces hay momentos que sale mucha plata y el usuario simplemente por ejemplo llego en la mañana se conecto y lo llamaron a una reunion sin hacer nada en el sistema todo el dia.

alguna idea se les agradece.
Responder Con Cita
  #2  
Antiguo 13-07-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Caso 1. el usuario se va a la reunion o no hace nada de nada: una aplicacion de Cubre Pantallas que cierre las conexiones activas.

Caso 2. el ususario chatea por Messenger: una aplicacion que verifique cada cierto intervalo el nombre del padre de la ventana activa. Midiendo así implicitamente la inactividad en la ventana que nos interesa.

Ahora podrías medir el uso del micro de un proceso... claro que deberías analizar qué tanto se utiliza para ésto y sacar promedios cada N segundos.

Tampoco descartaría yo la idea del mensaje que tu propones... habría de ver qué se ajusta mas al caso.

Saludos
Responder Con Cita
  #3  
Antiguo 13-07-2007
Ricardo Alfredo Ricardo Alfredo is offline
Miembro
 
Registrado: may 2003
Ubicación: Santiago - Chile
Posts: 65
Poder: 21
Ricardo Alfredo Va por buen camino
en el caso 2 estamos hablando que cuando levante la aplicacion "principal", en forma oculta esta "principal" ejecute una segunda que este midiendo la actividad de la otra ?
Responder Con Cita
  #4  
Antiguo 13-07-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Puedes hacerlo de ésa forma (que el usuario lo ejecute), en el inicio, desde el registro o como servicio (no es el tema), la idea es que tu aplicacion de monitoreo esté verificando todo el tiempo el nombre de la ventana que esté en primer plano (enfocada).
Responder Con Cita
  #5  
Antiguo 13-07-2007
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
¿No podría hacerse así?

1. Tomas la hora actual y la guardas.

2. Cada tanto, un timer compara la hora actual con la que guardaste. Si la diferencia es mayor al tiempo máximo de inactividad permitido, cierras la aplicación.

3. Cada vez que la aplicación recibe un evento del ratón o del teclado, reinicias la cuenta volviendo a grabar la hora actual. Los eventos los puedes monitorear con un objeto ApplicationEvents y su evento OnMessage.

// Saludos
Responder Con Cita
  #6  
Antiguo 14-07-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por roman
...Los eventos los puedes monitorear con un objeto ApplicationEvents y su evento OnMessage.
Es cierto! se me olvidó preguntar si el "sistema" al que se "conecta" el usuario esta desarrollado Ricardo Alfredo o es un programa ejecutable comprado (por ejemplo).
Responder Con Cita
  #7  
Antiguo 14-07-2007
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
Ja, y a mi se me olvidó pensar en esa posibilidad Di por sentado que él la programaba, pero bien puede ser de terceros.

// Saludos
Responder Con Cita
  #8  
Antiguo 14-07-2007
gabrielkc gabrielkc is offline
Miembro
 
Registrado: jun 2007
Ubicación: Chihuahua Mexico
Posts: 118
Poder: 17
gabrielkc Va por buen camino
Si el programa está desarrollado por tí y usas una BD, existe una propiedad que se llama IDLE Time, al pasar dicho tiempo muerto la BD se desconecta en el evento OnDisconnect del Database podrías hacer el logout de tu aplicacion o bien cerrarla
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
Aplicación de Servicio+Aplicación Normal +Socket jake API de Windows 5 21-06-2007 18:53:19
Cómo cerrar otra aplicacion desde mi aplicacion en Delphi 7 Gaby123 API de Windows 5 04-01-2007 22:44:51
detectar CUALQUIER actividad en el teclado: keydown pvizcay Varios 3 04-07-2006 02:30:29
Diferencia entre aplicacion Clx y aplicación normal??? JorgeBec Varios 1 27-10-2004 17:30:49
aplicacion vertical? aplicacion horizontal? maruenda Varios 3 28-02-2004 23:23:20


La franja horaria es GMT +2. Ahora son las 05:50:51.


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