Ejemplo TTray leyendo archivos

Ejemplo TTray leyendo archivos

Postby Enrrique Vertiz » Sun Nov 15, 2015 12:37 am

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
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23.1026X, Fwh 23.04, MySQL 8.0.X, SQLLIB 1.9m, SQLRDD
Enrrique Vertiz
 
Posts: 514
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru

Re: Ejemplo TTray leyendo archivos

Postby VitalJavier » Sun Nov 15, 2015 4:52 pm

Enrique, te pongo aquí algo de lo que tengo :

Code: Select all  Expand view

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.
 


Espero y te sirva. Saludos.
VitalJavier
 
Posts: 228
Joined: Mon Jun 10, 2013 6:40 pm

Re: Ejemplo TTray leyendo archivos

Postby Armando » Sun Nov 15, 2015 5:16 pm

Enrique:

Te va otro ejemplo.

Code: Select all  Expand view

.....
.....
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)
 


Activado el TIMER, cada n milésimas de segundo se ejecuta la función Ventana(),
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
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Ejemplo TTray leyendo archivos

Postby Enrrique Vertiz » Sun Nov 15, 2015 5:43 pm

Javier, Armando

Gracias a ambos por sus ejemplos, aplicare los cambios y los probare ...
Muchas gracias nuevamente
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23.1026X, Fwh 23.04, MySQL 8.0.X, SQLLIB 1.9m, SQLRDD
Enrrique Vertiz
 
Posts: 514
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru

Re: Ejemplo TTray leyendo archivos

Postby FranciscoA » Mon Nov 16, 2015 10:58 pm

Hola, aqui tienes otro ejemplo.
Code: Select all  Expand view

//---------------------//
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

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2110
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 93 guests