Compartilhar via


Usando o FoxPro para verificar a existência de um diretório

Este artigo descreve como usar o FoxPro para verificar a existência de um diretório.

Versão original do produto: Visual FoxPro
Número de KB original: 94339

Resumo

Há duas maneiras de verificar a existência de um diretório em um disco:

  • A FILE() função pode ser usada para verificar a existência de um arquivo em uma unidade local. FILE() funciona apenas em discos de rede dentro de grupos de trabalho.

    Observação

    O método descrito abaixo, usando a função FILE(), não funciona ao executar o FoxPro para Windows ou o FoxPro para MS-DOS no ambiente Windows 3.11. Esse método só pode ser usado ao executar o FoxPro para MS-DOS diretamente em versões do MS-DOS superiores a 3.0 ou ao executar o FoxPro para MS-DOS ou o FoxPro para Windows no Windows NT.

  • As funções ADIR() e ASCAN() podem ser usadas juntas para verificar a existência de um arquivo em uma unidade local ou de rede.

Mais informações

FILE() tenta localizar um arquivo ou diretório no disco e retorna .T. ou .F. com base nos resultados da pesquisa. Especifique o nome do arquivo a ser pesquisado como um argumento de cadeia de caracteres. Para testar a existência de um diretório, especifique NUL como o nome do arquivo. Por exemplo:

?FILE('c:\temp\NUL')

O comando acima verifica a existência do C:\FOXPRO2 diretório.

Observação

Esse uso do NUL não é suportado por versões do MS-DOS anteriores à versão 3.0.

ADIR() coloca as informações do arquivo em uma matriz. A matriz resultante contém cinco colunas, contendo nomes de arquivo, tamanhos, datas, horas e atributos, respectivamente. ADIR() leva até três argumentos:

  • <expC1> indica o nome da matriz.

  • <expC2> é opcional e pode ser usado para especificar um nome de arquivo de modelo, como C:\FOX* ou *. DBF. Somente os nomes de arquivos que correspondem ao modelo serão colocados na matriz.

  • <expC3> pode conter as letras D, H, S ou V para limitar os resultados a nomes de diretório, arquivos ocultos, arquivos de sistema ou o nome do volume, respectivamente.

A ASCAN() função pode então ser usada para determinar se uma entrada de diretório correspondente foi colocada na matriz. Por exemplo:

?ADIR(dirarray,'FOXPRO2','D')

O comando acima cria a matriz chamada dirarray e cria uma linha para o diretório FOXPRO2.

?ASCAN(dirarray,'FOXPRO2')

O comando acima retorna .T. ou .F. se FOXPRO2 estiver contido na matriz.

Referências

Para obter mais informações sobre FILE(), ADIR()e ASCAN(), consulte o manual "Comandos e funções" do FoxPro versão 2.0 ou o manual "Referência de idioma" do FoxPro versão 2.5.