______________________________________
Cel: (502) 55274094
E-mail: in...@magicsoft.com.gt
Aletrnativo: tayi...@gmail.com
Web: www.magicsoft.com.gt
-----Mensaje original-----
De: publice...@googlegroups.com
[mailto:publice...@googlegroups.com] En nombre de Gustavo Molina
Enviado el: jueves, 24 de febrero de 2011 10:20 a.m.
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] cerrar formulario
Saludos y Gracias
Gustavo
__________ Información de NOD32, revisión 5904 (20110224) __________
Este mensaje ha sido analizado con NOD32 antivirus system
http://www.nod32.com
Lo ejecuto al iniciar el programa.
CLEAR
PUBLIC tmrCheck
tmrCheck = NEWOBJECT("DetectActivity")
RETURN
DEFINE CLASS DetectActivity as Timer
* Sólo detecta inactividad mientras está en este programa?
JustInThisApp = .F.
* Intervalo de inactividad tras el cual dispara OnInactivity (en segundos)
InactivityInterval = 300
* Intervalo cada el que chequea actividad
Interval = 1000
LastCursorPos = ""
LastKeybState = ""
LastActivity = DATETIME()
CursorPos = ""
KeybState = ""
IgnoreNext = .T.
PROCEDURE Init
DECLARE INTEGER GetKeyboardState IN WIN32API STRING @ sStatus
DECLARE INTEGER GetCursorPos IN WIN32API STRING @ sPos
DECLARE INTEGER GetForegroundWindow IN WIN32API
ENDPROC
PROCEDURE Destroy
CLEAR DLLS GetKeyboardState, GetCursorPos, GetForegroundWindow
ENDPROC
PROCEDURE Timer
WITH This
IF ! .CheckActivity()
* Si no hubo actividad veo si es tiempo de disparar OnInactivity
IF ! ISNULL(.LastActivity) AND ;
DATETIME() - .LastActivity > .InactivityInterval
.LastActivity = NULL && Prevengo disparo múltiple de OnInactivity
.OnInactivity()
ENDIF
ENDIF
ENDWITH
ENDPROC
* Chequeo si hay actividad
PROCEDURE CheckActivity
LOCAL lRet
WITH This
IF .JustInThisApp
IF GetForegroundWindow() <> _VFP.hWnd
* Estoy en otro programa
RETURN lRet
ENDIF
ENDIF
.GetCurState()
IF (!.CursorPos == .LastCursorPos OR !.KeybState == .LastKeybState)
IF ! .IgnoreNext && La 1ra vez no ejecuto
lRet = .T. && Hubo actividad
.OnActivity()
.LastActivity = DATETIME()
ELSE
.IgnoreNext = .F.
ENDIF
.LastCursorPos = .CursorPos
.LastKeybState = .KeybState
ENDIF
ENDWITH
RETURN lRet
ENDPROC
* Devuelve el estado actual
PROCEDURE GetCurState
LOCAL sPos, sState
WITH This
sPos = SPACE(8)
sState = SPACE(256)
GetCursorPos (@sPos)
GetKeyboardState (@sState)
.CursorPos = sPos
.KeybState = sState
ENDWITH
ENDPROC
PROCEDURE OnInactivity
WAIT WINDOW "Inactividad a las " + TIME() NOWAIT
*DO FORM "C:\PRODUCCION\FRM_CAMBIAR_USUARIO.SCX"
_Screen.ActiveForm.RELEASE
CLOSE TABLES
CLOSE DATABASE
CLEAR ALL
CLEAR EVENTS
ENDPROC
* Hubo actividad
PROCEDURE OnActivity
* WAIT WINDOW "Actividad a las " + TIME() NOWAIT
ENDPROC
ENDDEFINE
p/ ACEROS CHUBUT SRL
Diego A. Callegari
Administración
Bvd. Segui 7500
+(54) - 0341 - 4590922 // 4582102 // 4581662
Nextel: 232 * 929
2000 - Rosario
Pcia. de Santa Fe
Rep. Argentina
MSN: acerosc...@hotmail.com
SKYPE: diego.callegari
WEB: www.aceroschubut.com.ar
Trefilación de alambres
-----Mensaje original-----
De: publice...@googlegroups.com
[mailto:publice...@googlegroups.com] En nombre de Gustavo Molina
Enviado el: Jueves, 24 de Febrero de 2011 01:20 p.m.
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] cerrar formulario
Hola amigos, necesito hacer que un formulario a los 3 minutos de estar
Jairo
-----Mensaje original-----
De: publice...@googlegroups.com
[mailto:publice...@googlegroups.com] En nombre de Gustavo Molina
Enviado el: Jueves, 24 de Febrero de 2011 11:20
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] cerrar formulario
Hola amigos, necesito hacer que un formulario a los 3 minutos de estar