Função: DirectoryCria um array bidimensional com o conteúdo de um diretório. Para isso, retorna informações a respeito dos arquivos no diretório corrente ou especificado. Essa função é semelhante a ADir(), porém, retorna um único array ao invés de adicionar valores a uma séria de arrays existentes passados por referência. Directory ( < cDirEsp>, [ cAtributos], [ xParam3], [ lCaseSensitive] ) --> aRet Nome | Tipo | Descrição | Obrigatório | Referência | cDirEsp | Caracter | Indica o diretório que será pesquisado e os arquivos que serão apresentados. Além disso, caracteres do tipo curinga são permitidos na especificação de arquivos. Caso esse parâmetro não seja especificado, o valor padrão é *.*. | X | | cAtributos | Caracter | Indica quais arquivos com atributos especiais devem ser incluídos no array. Esse parâmetro consiste em uma string que contém um ou mais dos caracteres H, S, D e V. Para mais detalhes, consulte a tabela A na área Observações. | | | xParam3 | Nulo | Compatibilidade. Deve ser informado o valor nulo ( NIL ) | | | lCaseSensitive | Lógico | Indica se, verdadeiro (.T.), o nome do arquivo será transformado para letra maiúscula; caso contrário, falso (.F.), o nome do arquivo será retornado conforme escrito no disco rígido. | | |
aRet(vetor)- Retorna um array de subarrays, sendo que cada subarray contém informações sobre cada arquivo que atenda o parâmetro (<cDirSpec>). Para mais detalhes, consulte a tabela B na área Observações.
- O diretório especificado, no parâmetro <cDirEsp> , pode estar na estação (Remote) ou no servidor, porém, é necessário obedecer as definições de Path Absoluto/Relativo de acesso.
- Essa função pode ser utilizada para realizar operações em conjuntos de arquivos. Ao utilizar essa função em conjunto com AEVal(), é possível definir um bloco de código que pode ser aplicado a todos os arquivos que atendam ao parâmetro especificado.
- Para tornar as referências aos vários elementos de cada subarray de arquivo mais legíveis, a linguagem AdvPL fornece o arquivo header Directory.ch, que contém os #DEFINES para os subarrays subscripts.
Nota |
---|
| Quando executado via SmartClient HTML, o sistema não tem acesso aos arquivos da estação (Remote). |
Tabela A - Atributos de Directory() Atributo | Significado |
---|
H | Incluir arquivos ocultos | S | Incluir arquivos de sistema | D | Incluir diretórios | V | Procura pelo volume DOS e exclui outros arquivos |
Importante |
---|
Arquivos normais são sempre incluídos na pesquisa, a não ser que "V" seja especificado. |
Tabela B - Estrutura dos subarraysposição | metasímbolo | directry.ch |
---|
1 | cNome | F_NAME | 2 | cTamanho | F_SIZE | 3 | dData | F_DATE | 4 | cHora | F_TIME | 5 | cAtributos | F_ATT |
Bloco de código |
---|
theme | Eclipse |
---|
language | cpp |
---|
title | Exemplo |
---|
linenumbers | true |
---|
| Local aFiles := {}
Local nX
local nCount := Len( aFiles )
aFiles := Directory("c:\garbage\*.*", "D")
For nX := 1 to nCount
ConOut('Arquivo: ' + aFiles[nX,1] + ' - Size: ' + AllTrim(Str(aFiles[nX,2])) )
Next nX |
Bloco de código |
---|
theme | Eclipse |
---|
language | cpp |
---|
title | Exemplo |
---|
linenumbers | true |
---|
| #INCLUDE "Directry.ch"
aDirectory := DIRECTORY("*.*", "D")
AEVAL(aDirectory, {|aFile| CONOUT(aFile[F_NAME])} ) |
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server |