Função para gravar em um vetor todos os nomes de arq diretor

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

rangelssilva
Usuário Nível 1
Usuário Nível 1
Mensagens: 48
Registrado em: 27 Jul 2007 15:24
Localização: São Paulo - SP

Função para gravar em um vetor todos os nomes de arq diretor

Mensagem por rangelssilva »

Boa Noite, Pessoal


Alguem sabe me dizer se existe alguma função , lib ou similar que verifica a existencia de um diretorio , em seguida vai ate esse diretorio, pega todos os nomes de arquivos da extensao escolhida e grava num vetor????


Caso positivo, qual seria?????
Caso negativo, talvez eu desenvolva uma.....

Valeu galera....

Um abraçõ pra todo mundo.....
Valeu.....
;)
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Re: Função para gravar em um vetor todos os nomes de arq diretor

Mensagem por rochinha »

Amiguinho,

Use a função ADIR():


ADIR([<cFilespec>],
[<aFilenames>],
[<aSizes>],
[<aDates>],
[<aTimes>],
[<aAttributes>]) --> nFiles


Exemplo

Código: Selecionar todos

        LOCAL aFiles[ADIR("*.TXT")] // É preparado um vetor para conter os arquivos
        ADIR("*.TXT", aFiles) // Os nomes dos arquivos são carregados para o vetor
        AEVAL(aFiles, { |element| QOUT(element) }) // O nome de cada arquivo será apresentado na tela
Para afinar mais ainda o trabalho como este voce pode usar Directory()

DIRECTORY(<cDirSpec>, [<cAttributes>]) --> aDirectory

Argumentos:

<cDirSpec> identifica drive, pasta ou especificação de arquivo, *.TXT, *.DOC, etc. Se omitido o default será *.*.

<cAttributes> especifica quais atributos refinarão a pesquisa.

Attributo Descrição
------------------------------------------------------------------------
H Arquivos escondidos
S Arquivos de Sistema
D Pasta ou diretórios
V Pesquisa somente por volume excluindo arquivos
------------------------------------------------------------------------

Returno:

DIRECTORY() returna um vetor com subvetores, onde cada subvetor contem informação de cada arquivo coletado.

Estrutura do subvetor:


Posição Metasimbolo Directry.ch
------------------------------------------------------------------------
1 cName F_NAME
2 cSize F_SIZE
3 dDate F_DATE
4 cTime F_TIME
5 cAttributes F_ATTR
------------------------------------------------------------------------

Examplos:

Código: Selecionar todos

        #include "Directry.ch"
        //
        aDirectory := DIRECTORY("*.*", "D")
        AEVAL( aDirectory, {|aFile| QOUT(aFile[F_NAME])} )
Montará um vetor contendo somente informações de pastas.

Código: Selecionar todos

        #include "Directry.ch"
        //
        nTamanho := Directory("AUTOEXEC.BAT")[1][2]
Trará informações sobre o AUTOEXEC.BAT referente ao seu tamanho.

Faça umas pesquisas no forum e voce encontrará mais exemplos.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
rangelssilva
Usuário Nível 1
Usuário Nível 1
Mensagens: 48
Registrado em: 27 Jul 2007 15:24
Localização: São Paulo - SP

Re: Função para gravar em um vetor todos os nomes de arq diretor

Mensagem por rangelssilva »

Obrigado.. VOU tentar, e qualquer dúvida posto um tópico.....

Abc....
:xau
Responder