Descriçã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! 😎