Timer que cuente al dejar de usar teclado o raton

Post Reply
Miguel Salas
Posts: 132
Joined: Sun Oct 23, 2005 4:09 pm
Location: Pánuco,Ver. México

Timer que cuente al dejar de usar teclado o raton

Post by Miguel Salas »

Eso Amigos, quiero poner un timer que empice a contar cuando dejen de usar el teclado o raton, tipo los protectores de pantalla, tendran algo parecido?

gracias
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Timer que cuente al dejar de usar teclado o raton

Post by Antonio Linares »

Miguel,

Tienes un ejemplo en FWH\samples\GetTime.prg

Code: Select all

// How to create a screensaver that will be executed when a GET is not used for some time

#include "FiveWin.ch" 

static nTime := 0

function Main() 

   local oDlg, oSay, oGet, cTest := Space( 10 ) 

   DEFINE DIALOG oDlg TITLE "Test" 

   @ 0.5, 8 SAY oSay PROMPT "Elapsed time: " + AllTrim( Str( nTime ) ) + " secs."
   
   @ 3, 7 GET oGet VAR cTest PASSWORD
   
   ACTIVATE DIALOG oDlg CENTERED ;
      ON INIT BuildTimer( oDlg, oSay, oGet )

return nil 

function BuildTimer( oDlg, oSay, oGet )

   local oTmr
   
   DEFINE TIMER oTmr OF oDlg ;
      ACTION ( nTime++, oSay:Refresh(), If( nTime > 14, ScreenSaver(),)) INTERVAL 1000

   ACTIVATE TIMER oTmr
   
   oGet:bKeyDown = { | nKey | nTime := 0, nKey }
   
return nil   

function ScreenSaver()

   static oDlg

   nTime = 0

   if oDlg == nil

      ShowWindow( FindWindow( "Shell_TrayWnd", "" ), 0 ) // Taskbar 
      ShowWindow( FindWindow( "Button", "Start" ), 0 ) // Vista round button

      DEFINE DIALOG oDlg STYLE WS_VISIBLE COLOR "W/B" SIZE GetSysMetrics( 0 ), GetSysMetrics( 1 )
   
      @ 10, 10 SAY "This is a screensaver" COLOR "W/B"
   
      oDlg:bKeyDown = { || oDlg:End() }
   
      ACTIVATE DIALOG oDlg ;
         ON CLICK oDlg:End()

      ShowWindow( FindWindow( "Shell_TrayWnd", "" ), 1 ) 
      ShowWindow( FindWindow( "Button", "Start" ), 1 ) 
         
      oDlg = nil
      nTime = 0
   endif      
   
return nil      
 
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply