Página 1 de 1

Mostrar os DBFs do diretorio corrente.

Enviado: 04 Nov 2004 15:20
por Paulao
Boa tarde moçada, necessito de uma rotina para mostrar os DBFs do diretorio corrente para eu escolher um arquivo (Semelhante a um dbedit, qdo encontrar o arquivo que necessito tecle enter e seleciono o arquivo)

Grande abraço a todos

Enviado: 04 Nov 2004 16:45
por Hasse
file0 = CHR(34) + Path + 'nome do arquivo' + CHR(34)
N_arq = ADIR(&file1)
DECLARE vedir[N_arq]
ADIR(&file0,vedir)
ASORT(ved)
*
DO WHILE .T.
@7,9 TO 21,31
SET WRAP ON
n_opcao = ACHOICE(08,10,20,30,vedir) && Lista os arquivos
IF n_opcao = 0 && para escolha.
LOOP
ENDIF
EXIT
ENDDO

Arqu = vedir[n_opcao]
-------------------------------------------------------------------------
OBS: em 'nome do arquivo' colocar o nome com sua extensão.
Também pode ser usada uma máscara válida para DOS.
-------------------------------------------------------------------------
Hasse.

Enviado: 05 Nov 2004 11:09
por kenew
Melhor usar DIRECTORY( <arquivos ou mascaras>, <tipo de arquivo> )

É mais eficiente, ela gera uma matriz com o nome, extensão, tamanho e data dos arquivos ou diretorios.

Exemplo para procurar arquivos .DBF.

arquivos := Directory( "*.DBF", "A" )

Enviado: 06 Nov 2004 16:05
por Paulao
Valeu Kenew, era isso mesmo que eu precisava.
Ficou assim a rotina se alguem mais precisar:

setcolor("w+/b")
@00,00 clear to 24,79
file0 = CHR(34) +"*.dbf"+ CHR(34)
N_arq = ADIR(&file0)
DECLARE vedir[N_arq]
ADIR(&file0,vedir)
ASORT(vedir)
*
DO WHILE .T.
@7,9 TO 21,31
SET WRAP ON
n_opcao = ACHOICE(08,10,20,30,vedir) && Lista os arquivos
IF n_opcao = 0 && para escolha.
LOOP
ENDIF
EXIT
ENDDO

Arqu = vedir[n_opcao]
? Arqu
inkey(0)