Directory [AS]
Autor: Eurai Criado: 01/01/2016 Atualizado: 25/04/2025Descrição
Directory [AS] - Cria um array bidimensional com o conteúdo de um diretório. |
Sintaxe
Directory( <cDirEsp>, <cAtributos>, <uParam1>, <lCaseSensitive>, <nTypeOrder> ) |
Parâmetros
Par | Nome | Tipo | Descrição | Default | Obg | Ref |
01 |
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 | ||
02 | 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 |
|||
03 | uParam1 |
Indefinido |
Parâmetro de compatibilidade. Passar Nil |
|||
04 | lCaseSensitive |
Boolean | 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 |
|||
05 | nTypeOrder |
Numérico |
Indica o tipo de ordenação do resultado da função |
Retorno
Retorno | Tipo | Descrição |
aRet | Array |
Retorna um array de subarrays, sendo que cada subarray contém informações sobre cada arquivo que atenda o parâmetro (<cDirSpec>). |
Exemplo
#INCLUDE "TOTVS.CH" User Function Directory() Local aFiles := {} Local nX := 0 aFiles := Directory("C:\TEMP\*.*", "D") For nX := 1 to Len( aFiles ) Conout('Arquivo: ' + aFiles[nX,1] + ' - Size: ' + AllTrim(Str(aFiles[nX,2])) ) Next nX Return( Nil )
Resultado
Informações adicionais
Listar um diretório com muitos arquivos pode causar problemas de desempenho no Appserver, já que todos as suas informações serão transportados para um Array. A proporção é de, em média, 100MBs em apenas uma execução a cada 100.000 arquivos |
Quando executado via SmartClient HTML, o sistema não tem acesso aos arquivos da estação/cliente (Remote). |
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 |
Quando um path absoluto é especificado (com unidade de disco preenchida), a função será executada na estação em que o SmartClient está em execução |
Caso seja especificado um path sem a unidade de disco, o mesmo será considerado no ambiente do servidor, a partir do RootPath do ambiente (caso o path comece com \ ou /), ou a partir do StartPath do ambiente (caso o path não seja iniciado com \ ou /). |
cAtributos: Arquivos normais são sempre incluídos na pesquisa, a não ser que "V" seja especificado |
Includes: directory.ch / Fileio.ch |
CATRIBUTOS
H | Incluir arquivos ocultos |
S | Incluir arquivos de sistema |
D | Incluir diretórios |
V | Procura pelo volume DOS e exclui outros arquivos |
ARET
cNome | Caracter |
F_NAME |
cTamanho | Caracter |
F_SIZE |
dData | Date | F_DATE |
cHora | Caracter |
F_TIME |
cAtributos | Caracter |
F_ATT |
NTYPEORDER
1 | Ordenar por nome do arquivo |
2 | Ordenar por data do arquivo |
3 | Ordenar por tamanho do arquivo |
Gostou? Compartilhe com seus amigos e deixe um comentário! 😎
Discussão (0)
Sem comentários ainda
Realize o LOGIN no site para poder comentar