Page 1 of 1
DIRECTORY() + cGetFile - BUG????
Posted: Mon Mar 31, 2008 3:13 pm
by MGA
Antonio tenho um timer que verifica os arquivos TXT do diretorio, acontece que se chamar a cGETFILE, a função DIRECTORY passa a não achar mais os arquivos enquanto não fechar a cGETFILE:
EX:
#include "fivewin.ch"
function main()
local oWnd1,oti,obtn
DEFINE WINDOW oWnd1 TITLE "oWnd1" ;
FROM 5, 5 TO 24, 64
define timer oti of ownd1 interval 2000 action(teste())
@ 10,10 button obtn size 100,50 of oWnd1 pixel ACTION(LA())
ACTIVATE WINDOW oWnd1 on init(oti:activate()) maximized
return nil
******
function teste()
local adir
aDir := directory('*.txt')
if len(adir)=0
? "PROBLEMA"
endif
return(.t.)
FUNCTION LA()
LOCAL CFILE
cFile:=cGetFile("Bitmaps|*.bmp","" )
RETURN(.T.)
Posted: Mon Mar 31, 2008 4:14 pm
by karinha
#include "fivewin.ch"
#Include "Directry.ch"
Code: Select all
function main()
local oWnd1,oti,obtn
DEFINE WINDOW oWnd1 TITLE "oWnd1" ;
FROM 5, 5 TO 24, 64
define timer oti of ownd1 interval 2000 action(teste())
@ 10,10 button obtn size 100,50 of oWnd1 pixel ACTION(LA())
ACTIVATE WINDOW oWnd1 on init(oti:activate()) maximized
return nil
******
function teste()
local adir
aDir := directory('*.txt')
if len(adir)=0
? "PROBLEMA"
endif
return(.t.)
FUNCTION LA()
LOCAL CFILE
//cFile:=cGetFile("Bitmaps|*.bmp","" )
cFile := SubStr( cGetFile( "*.BMP", "Selecione o Arquivo Bitmap (.BMP)" ), 3 )
IF Empty( cFile )
? "No BitMaps in Local"
Return Nil
ELSE
? cFile
ENDIF
RETURN(.T.)
Posted: Mon Mar 31, 2008 4:56 pm
by MGA
Meu amigo Karinha, acho que você não entendeu o problema, o timer avalia sempre se existe arquivos TXT no diretorio, porem ao chamar cGETFILE a função directory passa a não enchergar mais os TXT em quanto a cGETFILE não for fechada.
Neste exemplo eu apenas chamo a cGETFILE para testar a DIRECTORY.
Posted: Mon Mar 31, 2008 5:32 pm
by karinha
NAO FAÇA DESTE JEITO, CRIE UMA FUNCAO PARA CONTROLAR O TIMER.
Posted: Mon Mar 31, 2008 5:50 pm
by MGA
Desculpe não entendi o que vc quis dizer!
Posted: Mon Mar 31, 2008 6:31 pm
by karinha
#include "fivewin.ch"
#Include "Directry.ch"
Code: Select all
static oti
function main()
local oWnd,obtn
DEFINE WINDOW oWnd TITLE "WINDOW" ;
FROM 5, 5 TO 24, 64
@ 10,10 button obtn size 100,50 of oWnd pixel ACTION(LA())
ACTIVATE WINDOW oWnd on init(ACIONA_TIMER(oWnd)) maximized
return nil
STATIC FUNCTION ACIONA_TIMER(OWND)
DEFINE TIMER oTi INTERVAL 1000 OF oWnd ACTION teste()
ACTIVATE TIMER oTi
return(nil)
******
STATIC FUNCTION TESTE()
local adir
aDir := directory('*.txt')
if len(adir)=0
oTi:End()
//-> Ou oTi:DeAtivate()
? "nao encontrei nenhum arquivo.txt"
endif
return(.t.)
******
FUNCTION LA()
LOCAL CFILE
cFile:=cGetFile("Bitmaps|*.bmp","" )
RETURN(.T.)