Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Obter o nome dos arquivos selecionados na ShellListView...


Elvio.Tchê

Pergunta

Não estou conseguindo "puxar" o nome dos arquivos selecionados numa ShellListView (Delphi 7):

for x:=0 to ( ShellListView1.Items.Count-1 ) do
      begin
        if ( ShellListView1.Items[x].Selected ) then  // Testa se o arquivo da lista está selecionado
            lb_arqs.Items.Add(ShellListView1.Items[x].Caption); // Adiciona o arq. selecionado a um ListBox
      end;

A ListBox fica com itens sem descrição, que seriam o nome dos arquivos.

Grato.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Olá,

veja se isso te ajuda:

ShellListView1.SelectedFolder.DisplayName

Abs. Progr'amador

Minha ShellListView tem a listagem dos arquivos de uma determinada pasta, vou selecionar alguns arquivos, por exemplo, tem 5 arquivos, eu seleciono 3 deles...

abc.doc

asdf.rpt - Marcado/selecionado

mko.dat

qwerty.lst - Marcado/selecionado

xyz.txt - Marcado/selecionado

quando o for...next passar pela lista, deverá retornar somente os nomes que estão marcados/selecionados, no caso:>

asdf.rpt

qwerty.lst

xyz.txt

e estes itens vou adicionar a uma simples ListView.

Porém, não consigo obter os nomes dos arquivos que estão marcados/selecionados e minha listview fica com o nro de itens correspondente a seleção, porém, cada item em branco (sem o nome).

Link para o comentário
Compartilhar em outros sites

  • 0

a maneira correta é :

procedure TForm1.Button1Click(Sender: TObject);
var x : integer;
begin
   for x := 0 to ( ShellListView1.Items.Count-1 ) do
      begin
        if ( ShellListView1.Items[x].Selected ) then  // Testa se o arquivo da lista está selecionado
            lb_arqs.Items.Append(TShellFolder(ShellListView1.Folders[x]).DisplayName);
      end;

end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
a maneira correta é :

procedure TForm1.Button1Click(Sender: TObject);
var x : integer;
begin
   for x := 0 to ( ShellListView1.Items.Count-1 ) do
      begin
        if ( ShellListView1.Items[x].Selected ) then  // Testa se o arquivo da lista está selecionado
            lb_arqs.Items.Append(TShellFolder(ShellListView1.Folders[x]).DisplayName);
      end;

end;

abraço

Boa noite.

É exatamente isso, depois que postei a dúvida, acabei olhando com mais calma e acabei chegando a esta solução mesmo.

Só o lb_arqs.Items.Append que mantive o Add, pois toda vez que eu clicar em no botão "Converter", ele vai limpar a ListBox.

Sds.,

Elvio.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...