Incluir Página | ||||
---|---|---|---|---|
|
Sintaxe
DIRECTORY(<expressão caracter 1> [ , <expressão caracter 2> ] )
Propósito
Cria um array multidimensional com as informações sobre uma pasta no sistema operacional e os seus arquivos.
Argumentos
<expressão caracter 1>
Define o drive, a pasta e os arquivos que serão incluídos na pesquisa das informações da pasta.
As tradicionais máscaras para especificação de arquivos, representadas pelos caracteres * (asterisco) e ? (ponto de interrogação) podem ser utilizadas na especificação dos nomes de arquivos que serão considerados na pesquisa. Caso este argumento seja omitido, assume-se a máscara *.*, ou seja, todos os arquivos da pasta corrente.
<expressão caracter 2>
Especifica os arquivos que possuem atributos especiais que deverão ser incluídos nas informações fornecidas pela função DIRECTORY(). A expressão caracter 2 deve ser constituída de uma cadeia de caracteres contendo um ou mais caracteres relacionados na tabela abaixo:
Atributo | Significado |
H | Inclusão de arquivos ocultos (hidden). |
S | Inclusão de arquivos de sistema (system). |
D | Inclusão de pastas (<DIR>). |
V | Pesquisa o nome do volume (disco) e exclui todos os arquivos. |
Além destes, os arquivos normais são sempre incluídos na pesquisa da pasta, a menos que se especifique o atributo “V”.
Utilização
Cada subarray fornecido pela função DIRECTORY() traz informações de um arquivo e possui os seguintes elementos:
Elemento | Símbolo | Directry.ch |
1 | Nome | F_NAME |
2 | Tamanho | F_SIZE |
3 | Data | F_DATE |
4 | Hora | F_TIME |
5 | Atributos | F_ATT |
Exemplos
O exemplo abaixo cria um array (aArqDir) com as informações sobre os arquivos do Word e as subpastas contidas na pasta corrente. Em seguida, mostra os seus nomes através de um bloco de código e das funções AEVAL() e MsgAlert().
#include “PROTHEUS.CH”
LOCAL aArqDir := DIRECTORY(“*.DOC”, “D”)
AEVAL(aArqDir, { | aFile | MsgAlert(aFile[F_NAME]) } )