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:
Argumento | Obrigatório | Tipo | Descrição |
---|---|---|---|
listboxname | Sim | ListBox (ou DropDownListBox, PictureListBox ou DropDownPictureListBox) | Nome do objeto que receberá a lista de arquivos. |
filespec | Sim | string | Caminho 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. |
filetype | Sim | uinteger | Tipo 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. |
statictext | Não | statictext | O 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.