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
Fontes: file.4gl, file.prw
Veja também
LOG_file_splithPath