Home

Frameworkjoi

Page tree
Skip to end of metadata
Go to start of metadata

Ler a lista de arquivos e/ou diretórios existentes a partir de um determinado diretório do Servidor ou Local.

Sintaxe

LOG_file_getListCount( < cPath > , < cFilter > , < nRecursive > , < nListDir > , < nClient >) => INTEGER

Parâmetros

Nome

Tipo

Obrigatório?

Descrição

cPath

CHAR

Sim

Diretório inicial de pesquisa.

cFilter

CHAR

Não

Filtro de pesquisa de arquivos.

Se este parâmetro não for informado, será considerado por padrão todos os arquivos (*.*).

nRecursive

SMALLINT

Sim

Indicador de pesquisa recursiva em subdiretórios.

TRUE ou 1 - Pesquisa recursiva.
FALSE ou 0 - Pesquisa não recursiva.

Se este parâmetro não for informado, será considerado o padrão de pesquisa não recursiva (0).

nListDir

SMALLINT

Sim

Indicador de pesquisa incluindo diretórios.

TRUE ou 1 - Irá adicionar diretórios e arquivos na lista.
FALSE ou 0 - Irá adicionar apenas arquivos na lista.

Se este parâmetro não for informado, será considerado o padrão de acionar apenas arquivos na lista (0).

nClient

SMALLINT

Sim

Ambiente de pesquisa do arquivo:

0 - Servidor

1 - Local

Se este parâmetro não for informado, será considerado o padrão de pesquisar no servidor (0).

Retorno

Tipo

Descrição

INTEGER

Quantidade de arquivos e/ou diretórios encontrados na pesquisa.

Exemplo

DEFINE ma_files ARRAY[] OF RECORD
                filetype  CHAR(01),
                filename  CHAR(100)
                END RECORD

FUNCTION LOG_fileListDir_test()
  DEFINE l_file_name CHAR(250)
  DEFINE l_ind       SMALLINT
  DEFINE l_count     SMALLINT
  DEFINE l_total     SMALLINT
  DEFINE l_drive, l_path, l_name, l_extension CHAR(100)

  LET l_total = LOG_file_getListCount("c:\\temp\\","*.txt",FALSE,TRUE,0)

  FOR l_ind = 1 TO l_total
      LET l_file_name = LOG_file_getFromList(l_ind)

      CALL LOG_file_splithPath(l_file_name) RETURNING l_drive, l_path, l_name, l_extension

      LET l_count = l_count + 1
      CALL ArrayAddItem(ma_files,1)

      LET ma_files[l_count].filename = l_name CLIPPED, l_extension 
      LET ma_files[l_count].filetype = LOG_file_getTypeFromList(l_ind)

      IF ma_files[l_count].filetype = "D" THEN
         CALL conout("Diretório = "||ma_files[l_count].filename)
      ELSE  
         CALL conout("Arquivo = "||ma_files[l_count].filename)
      END IF
  END FOR
END FUNCTION

Informações

Fontes: file.4gl, file.prw

Veja também

LOG_file_splithPath