Saludos estimados,
Estoy buscando ejemplos para hacer un programa residente que lea cada X cantidad de segundos una carpeta, el TestTray, es un buen comienzo, pero crea un Menu, no hay otro ejemplo con una idea similar a lo que busco, gracias
Ejemplo TTray leyendo archivos
-
- Posts: 440
- Joined: Fri Oct 07, 2005 2:17 pm
- Location: Lima - Peru
- Contact:
Ejemplo TTray leyendo archivos
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
-
- Posts: 188
- Joined: Mon Jun 10, 2013 6:40 pm
Re: Ejemplo TTray leyendo archivos
Enrique, te pongo aquí algo de lo que tengo :
Espero y te sirva. Saludos.
Code: Select all
FUNCTION Main()
DEFINE ICON oIcon RESOURCE "Z_IPS"
DEFINE ICON oIcon1 FILE "..\icons\folder.ico"
DEFINE WINDOW oWnd Title "Sistema Empresarial, Enviando Archivos de Recargas"
ACTIVATE WINDOW oWnd ON INIT (RETORNA_IPPUB(),oTray := TTrayIcon():New( oWnd, oIcon, "Enviando Archivos de Recargas...",;
{ || MsgInfo( "Enviando Archivos de Recargas...","Enviando" ) },;
{ | nRow, nCol | MenuTray( nRow, nCol, oTray, oWnd ) } ),VerificaIPPub(@oTimer),oTimer:Activate()) ;
VALID oTray:End() ON RIGHT CLICK oTray:SetIcon( oIcon1, "Another" )
Cerrar()
RETURN .T.
FUNCTION MenuTray( nRow, nCol, oTray , oWnd)
LOCAL oMenu
MENU oMenu POPUP
MENUITEM "Muestra Aplicacion" ACTION oWnd:Show(), oWnd:SetFocus()
MENUITEM "Oculta Aplicacion" ACTION oWnd:Hide()
SEPARATOR
MENUITEM "Cierra Aplicacion" ACTION oWnd:end()
ENDMENU
ACTIVATE POPUP oMenu AT nRow, nCol OF oTray:oWnd
RETURN .T.
FUNCTION VERIFICAIPPUB(oTimerActual)
DEFINE TIMER oTimerActual INTERVAL 60000 ACTION RETORNA_IPPUB() OF oWnd
RETURN .T.
Re: Ejemplo TTray leyendo archivos
Enrique:
Te va otro ejemplo.
Activado el TIMER, cada n milésimas de segundo se ejecuta la función Ventana(),
modifica la función Ventana() a tus necesidades
Saludos
Te va otro ejemplo.
Code: Select all
.....
.....
ACTIVATE WINDOW oWindow MAXIMIZED VALID Cerrar() ON INIT Tiempo()
/*
* --------------------------------------------------------------------------*
* --------------------------------------------------------------------------*
*/
STATIC FUNCTION Tiempo()
LOCAL nIntervalo := 60000 * oRsEmp:Fields("EMP_ACM"):Value
IF nIntervalo > 0
// 60,000 milesimas es igual a 1 minuto, se crea y se activa solo una vez
DEFINE TIMER oTimer OF oWindow INTERVAL nIntervalo ACTION Ventana() // 600000 es igual a 10 minutos
oTimer:Activate()
ENDIF
RETURN(NIL)
modifica la función Ventana() a tus necesidades
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
-
- Posts: 440
- Joined: Fri Oct 07, 2005 2:17 pm
- Location: Lima - Peru
- Contact:
Re: Ejemplo TTray leyendo archivos
Javier, Armando
Gracias a ambos por sus ejemplos, aplicare _ y los probare ...
Muchas gracias nuevamente
Gracias a ambos por sus ejemplos, aplicare _ y los probare ...
Muchas gracias nuevamente
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
- FranciscoA
- Posts: 1964
- Joined: Fri Jul 18, 2008 1:24 am
- Location: Chinandega, Nicaragua, C.A.
Re: Ejemplo TTray leyendo archivos
Hola, aqui tienes otro ejemplo.
Saludos.
Code: Select all
//---------------------//
FUNCTION AvisaMf()
local oDlg
LOCAL oTimer, nInterval := 60000 * .50
local cNombServ := "SERVIDOR", cDir := "PRUEBAS"
local cPathF := "\\"+cNombServ+"\"+cDir
local cTable := "TUTABLA"
local nRegis := 0
if !file(cPathF+"\"+cTable+".dbf")
MsgStop("No se encontro tabla "+ cPathF+"\"+cTable+".dbf" + " Revise y reintente")
return nil
endif
dbusearea(.t.,,(cPathF)+"\"+(cTable),(cTable),.t.)
if neterr()
MsgStop("Hey... No se puede usar en este momento, la tabla "+cPathF+"\"+cTable)
return nil
endif
nRegis := (cTable)->(Reccount())
(cTable)->(dbclosearea())
DEFINE DIALOG oDlg SIZE 400,200 PIXEL
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT TmrDocs(@oTimer,nInterval,@nRegis,cPathF,cTable)
oTimer:End()
RETURN(NIL)
//-------------------------------------------------------
Function TmrDocs(oTimer,nInterval,nRegis,cPathF,cTable)
DEFINE TIMER oTimer INTERVAL nInterval ACTION DctoModifi(cPathF,cTable,@nRegis)
ACTIVATE TIMER oTimer
Eval( oTimer:bAction )
Return nil
//----------------------------
Function DctoModifi(cPathF,cTable,nRegis)
local nRegistActual
dbusearea(.t.,,(cPathF)+"\"+(cTable),(cTable),.t.)
if neterr()
MsgStop("No se puede usar en este momento, la tabla "+cPathF+"\"+cTable)
return nil
endif
nRegistActual := (cTable)->(Reccount())
if nRegistActual != nRegis
MsgInfo("Hay modificaciones")
nRegis := nRegistActual
else
MsgInfo("No ha habido modificaciones")
endif
(cTable)->(dbclosearea())
Return nil
Francisco J. Alegría P.
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql