Fórum ListBox listar nome do arquivo, ocultar diretório #623829
13/11/2025
0
O que estou tentando fazer é selecionar multiplos arquivos, mas listar apenas o nome deles(sem o patch) em uma listbox.
O código abaixo faz isso, porém eu precisaria armazenar também o Patch do arquivo, para posteriormente usar ele numa outra rotina
O código abaixo faz isso, porém eu precisaria armazenar também o Patch do arquivo, para posteriormente usar ele numa outra rotina
var
I: Integer;
begin
if OpenDialog1.Execute then
begin
for I := 0 to OpenDialog1.Files.Count - 1 do
begin
// Adiciona (caminho + nome) ao ListBox
ListBox1.Items.Add(OpenDialog1.Files[I]);
// Adiciona apenas o nome do arquivo sem o caminho
ListBox1.Items.Add(ExtractFileName(OpenDialog1.Files[I]));
end;
end;
end;Renan
Curtir tópico
+ 0
Responder
Posts
13/11/2025
Arthur Heinrich
O componente TListBox possui um evento OnDrawItem.
Este evento permite que você desenhe o item, ao invés de deixar que o componente faça isso automaticamente.
Desta forma, você pode adicionar o caminho completo até o arquivo, mas, no evento, ao desenhar o item, você pode extrair apenas o nome do arquivo e utilizá-lo para exibição.
Caso um item seja selecionado, embora esteja exibindo apenas o nome, o texto do item selecionado será o nome completo, com (drive+path+filename+extension), caso você o adicione desta forma.
Este evento permite que você desenhe o item, ao invés de deixar que o componente faça isso automaticamente.
Desta forma, você pode adicionar o caminho completo até o arquivo, mas, no evento, ao desenhar o item, você pode extrair apenas o nome do arquivo e utilizá-lo para exibição.
Caso um item seja selecionado, embora esteja exibindo apenas o nome, o texto do item selecionado será o nome completo, com (drive+path+filename+extension), caso você o adicione desta forma.
Responder
Gostei + 0
14/11/2025
Renan
Entendi.
Vi que eu posso também armazenar o patch num objeto.
Fiz dessa forma, porém na hora de recuperar o patch, preciso tomar cuidado para que o listbox esteja selecionado ao executar o FOR, do contrario gera erro de List Index is Out Of Bonds
A principio, tudo funcionando bem
Vi que eu posso também armazenar o patch num objeto.
Fiz dessa forma, porém na hora de recuperar o patch, preciso tomar cuidado para que o listbox esteja selecionado ao executar o FOR, do contrario gera erro de List Index is Out Of Bonds
A principio, tudo funcionando bem
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)