DirList

DirList

Overview

Olá, entusiastas do PowerBuilder! Em nosso post de hoje, vamos mergulhar no universo das ListBox e descobrir como podemos preenchê-las com uma lista de arquivos usando caminhos e máscaras específicas. Se você está buscando simular as funcionalidades do GetFileOpenName ou GetFileSaveName, ou simplesmente quer adicionar um toque de eficiência ao seu projeto, você está no lugar certo. Prepare-se para explorar exemplos práticos, entender argumentos essenciais e, claro, tirar todas as suas dúvidas sobre a função DirList. Vamos nessa!

Esta função popula uma ListBox com uma lista de arquivos. Você pode especificar o caminho, a mascara e os tipos dos arquivos que você quer listar. Se a sua janela possuir um StaticText, você pode utiliza-lo para exibir o drive e o caminho atual.

Como você já deve ter imaginado, esta função é, na verdade, um método existente nas ListBox. Com este método, você pode simular as funcionalidades do GetFileOpenName e do GetFileSaveName. Se o seu objetivo for simular a janela de seleção de arquivos do Windows, sugiro utilizar estas outras funções.

Sintaxe:

listboxname.DirList ( filespec, filetype {, statictext } )

Retorno:

  • true: Se o caminho informado for valido e o ListBox conseguir pegar o resultado (mesmo que o não existam arquivos);
  • false: Se o Listbox não puder ser populado;
  • null: Se qualquer um dos argumentos informados for nulo.

Destalhes sobre a função!

Appeon: Funciona sem restrições.

  • O caminho informado não pode ser um arquivo;
  • Também pode ser utilizado em DropDownListBox, PictureListBox e DropDownPictureListBox;
  • Esta função não considera o tipo real dos arquivos, mas suas extensões. (Exemplo: Se você buscar por “c:\temp\*.txt” e renomear o arquivo aplicacao.exe para aplicacao.exe.txt, ele será listado.)

Como utilizar:

Exemplo 01: Populando uma ListBox com todos os arquivos .TXT de um diretório.

boolean lb_ret

lb_ret = lb_emp.DirList("C:\Arquivos\*.TXT", 0)

Exemplo 02: Populando uma ListBox com todos os arquivos read-only e com a extensão .DOC de um diretório.

boolean lb_ret

lb_ret = lb_emp.DirList("C:\Arquivos\*.DOC", 1)

Exemplo 03: Populando uma ListBox com todos os arquivos read-only e com a extensão .DOC de um diretório e salvando o caminho atual em uma variável do tipo string.

boolean lb_ret
string ls_path

lb_ret = lb_emp.DirList("C:\Arquivos\*.DOC", 1, ls_path)

Argumentos:

ArgumentoObrigatórioTipoDescrição
listboxnameSimListBox (ou DropDownListBox, PictureListBox ou DropDownPictureListBox)Nome do objeto que receberá a lista de arquivos.
filespecSimstringCaminho e/ou máscara que você vai utilizar para pesquisar sobre os arquivos. Se o caminho não for indicado, será utilizado o caminho atual da aplicação.
filetypeSimuintegerTipo dos arquivos que serão procurados. os valores podem ser: - 0 – Arquivos Leitura/Escrita - 1 – Apenas arquivos Read-Only - 2 – Arquivos escondidos - 4 – Arquivos de sistema - 16 – Subdiretórios - 32 – Arquivos “archived” modificados - 16384 – Drives - 32768 – Exclui apenas arquivos com permissão de leitura/escrita Para mostrar vários tipos de arquivos, some os números de cada tipo (sim, some de somar, adição). Exemplo: Para listar arquivos Leitura/Escrita, subdiretórios e drives, utliize o valor 16400 (que é 0+16+16384) neste argumento.
statictextNãostatictextO objeto do tipo Static Texto que vai exibir o caminho atual.

Referência:

Dúvidas sobre o artigo? Sugestões? Precisa de ajuda com outra funcionalidade do PowerBuilder? Deixe um comentário.