Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Incluir Página
tec:Directory
tec:Directory

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]) } )