ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

[AJUDA]Incompatible types: 'TStrings' and 'TListItems'

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Matrix-Designer
Novato
Novato


Registrado: Sábado, 27 de Julho de 2013
Mensagens: 29

MensagemEnviada: Qui Set 13, 2018 9:33 pm    Assunto: [AJUDA]Incompatible types: 'TStrings' and 'TListItems' Responder com Citação

Olá uso essa função para listar directorios de uma pasta em um ListBox
to querendo usar um ListView mas obtenho o erro...

aproveitando o tópico... Alguem sabe como fazer o ListView puxar o icone da propria pasta? exemplo: 'C:\WINDOWS\Imagem.jpg'

Código:
SubDiretorios(''C:\WINDOWS\', ListView1.Items);


mas obtenho o erro: Incompatible types: 'TStrings' and 'TListItems'

-------------------------------------------------------------

Código:
SubDiretorios(''C:\WINDOWS\', ListBox1.Items);



Código:
procedure SubDiretorios(Diretorio: string; Lista: TStrings);
var
  SearchRec: TSearchRec;
begin
  if FindFirst(Diretorio + '*.*', faDirectory, SearchRec) = 0 then
    repeat
      if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name <> '.') and
        (SearchRec.Name <> '..') then
      begin
        Lista.Add(Diretorio + SearchRec.Name + '\');
        SubDiretorios(Diretorio + SearchRec.Name + '\', Lista);
      end;
    until FindNext(SearchRec) <> 0;
  FindClose(SearchRec);
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 2823
Localização: Belo Horizonte - MG

MensagemEnviada: Sex Set 14, 2018 9:43 am    Assunto: Responder com Citação

Erro de tipo de classe incompátivel, o Listview usa a classe TListItems e não TStrings como o Listbox.

Alterei sua função para retorno de um Listview:
Código:
procedure SubDiretoriosListview(Diretorio: string; Lista: TListView);
var
  SearchRec: TSearchRec;
  item: TListItem;
begin
  if FindFirst(Diretorio + '*.*', faDirectory, SearchRec) = 0 then
    repeat
      if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name <> '.') and
        (SearchRec.Name <> '..') then
      begin
        item:= Lista.Items.Add;
        item.Caption:= Diretorio + SearchRec.Name + '\';
        SubDiretoriosListview(Diretorio + SearchRec.Name + '\', Lista);
      end;
    until FindNext(SearchRec) <> 0;
  FindClose(SearchRec);
end;

Exemplo de uso:
Código:
SubDiretoriosListview('C:\WINDOWS\', ListView1);

_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
Matrix-Designer
Novato
Novato


Registrado: Sábado, 27 de Julho de 2013
Mensagens: 29

MensagemEnviada: Sáb Set 15, 2018 2:50 pm    Assunto: Responder com Citação

natanbh1 escreveu:
Erro de tipo de classe incompátivel, o Listview usa a classe TListItems e não TStrings como o Listbox.

Alterei sua função para retorno de um Listview:
Código:
procedure SubDiretoriosListview(Diretorio: string; Lista: TListView);
var
  SearchRec: TSearchRec;
  item: TListItem;
begin
  if FindFirst(Diretorio + '*.*', faDirectory, SearchRec) = 0 then
    repeat
      if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name <> '.') and
        (SearchRec.Name <> '..') then
      begin
        item:= Lista.Items.Add;
        item.Caption:= Diretorio + SearchRec.Name + '\';
        SubDiretoriosListview(Diretorio + SearchRec.Name + '\', Lista);
      end;
    until FindNext(SearchRec) <> 0;
  FindClose(SearchRec);
end;

Exemplo de uso:
Código:
SubDiretoriosListview('C:\WINDOWS\', ListView1);


Obrigado mais uma vez natan!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Matrix-Designer
Novato
Novato


Registrado: Sábado, 27 de Julho de 2013
Mensagens: 29

MensagemEnviada: Sáb Set 15, 2018 5:27 pm    Assunto: Responder com Citação

Natan você sabe como faço pra carregar o icone dos itens do listview diretamente da pasta?

Exemplo: foi listado o directorio 'C:\Pastas' no listview e dentro dessa pasta tenho mais 3 pastas chamadas 1 , 2 e 3 queria que o icone das pastas 1 ,2 e 3 fossem puxados assim:

C:\Pastas\1\Icone.jpg
C:\Pastas\2\Icone.jpg
C:\Pastas\3\Icone.jpg

Tem como fazer isso ?

obrigado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Matrix-Designer
Novato
Novato


Registrado: Sábado, 27 de Julho de 2013
Mensagens: 29

MensagemEnviada: Seg Set 17, 2018 1:24 am    Assunto: Responder com Citação

natanbh1 escreveu:
Erro de tipo de classe incompátivel, o Listview usa a classe TListItems e não TStrings como o Listbox.

Alterei sua função para retorno de um Listview:
Código:
procedure SubDiretoriosListview(Diretorio: string; Lista: TListView);
var
  SearchRec: TSearchRec;
  item: TListItem;
begin
  if FindFirst(Diretorio + '*.*', faDirectory, SearchRec) = 0 then
    repeat
      if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name <> '.') and
        (SearchRec.Name <> '..') then
      begin
        item:= Lista.Items.Add;
        item.Caption:= Diretorio + SearchRec.Name + '\';
        SubDiretoriosListview(Diretorio + SearchRec.Name + '\', Lista);
      end;
    until FindNext(SearchRec) <> 0;
  FindClose(SearchRec);
end;

Exemplo de uso:
Código:
SubDiretoriosListview('C:\WINDOWS\', ListView1);



Natan você sabe como faço pra carregar o icone dos itens do listview diretamente da pasta?

Exemplo: foi listado o directorio 'C:\Pastas' no listview e dentro dessa pasta tenho mais 3 pastas chamadas 1 , 2 e 3 queria que o icone das pastas 1 ,2 e 3 fossem puxados assim:

C:\Pastas\1\Icone.jpg
C:\Pastas\2\Icone.jpg
C:\Pastas\3\Icone.jpg

Tem como fazer isso ?

obrigado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 2823
Localização: Belo Horizonte - MG

MensagemEnviada: Seg Set 17, 2018 10:29 am    Assunto: Responder com Citação

Você quer mostrar a imagem destes ícones no Listview ou listar o caminho destes ícones no Listview?

Se for para listar o caminho dos ícones no Listview, teste esta alteração que fiz na função para listar os arquivos jpg:

Código:
procedure SubDiretoriosListview(Diretorio: string; Lista: TListView);

  // Funcao para listar arquivos da pasta
  function GetFileList(const Path: string): TStringList;
  var
    I: Integer;
    SearchRec: TSearchRec;
  begin
    Result := TStringList.Create;
    try
      I := FindFirst(Path, 0, SearchRec);
      while I = 0 do
      begin
        Result.Add(SearchRec.Name);
        I := FindNext(SearchRec);
      end;
    except
      Result.Free;
      raise;
    end;
  end;

var
  SearchRec: TSearchRec;
  ListaArquivos: TStringList;
  i: Integer;
  item: TListItem;
begin
  ListaArquivos := TStringList.Create;
  try
    if FindFirst(Diretorio + '*.*', faDirectory, SearchRec) = 0 then
      repeat
        if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name <> '.') and
          (SearchRec.Name <> '..') then
        begin
          ListaArquivos.Clear;
          ListaArquivos := GetFileList(Diretorio + SearchRec.Name + '\*.jpg');

          if ListaArquivos.Count > 0 then
          for I := 0 to ListaArquivos.Count - 1 do
          begin
            item := Lista.Items.Add;
            item.Caption := Diretorio + SearchRec.Name + '\' + ListaArquivos[i];
          end;

          SubDiretoriosListview(Diretorio + SearchRec.Name + '\', Lista);
        end;
      until FindNext(SearchRec) <> 0;
    FindClose(SearchRec);
  finally
    ListaArquivos.Free;
  end;
end;

O modo de usar seria o mesmo do outro post e o retorno neste exemplo dado por você seria:

Código:
C:\Pastas\1\Icone.jpg
C:\Pastas\2\Icone.jpg
C:\Pastas\3\Icone.jpg

_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
Matrix-Designer
Novato
Novato


Registrado: Sábado, 27 de Julho de 2013
Mensagens: 29

MensagemEnviada: Qua Set 19, 2018 12:33 am    Assunto: Responder com Citação

natanbh1 escreveu:
Você quer mostrar a imagem destes ícones no Listview ou listar o caminho destes ícones no Listview?

Se for para listar o caminho dos ícones no Listview, teste esta alteração que fiz na função para listar os arquivos jpg:

Código:
procedure SubDiretoriosListview(Diretorio: string; Lista: TListView);

  // Funcao para listar arquivos da pasta
  function GetFileList(const Path: string): TStringList;
  var
    I: Integer;
    SearchRec: TSearchRec;
  begin
    Result := TStringList.Create;
    try
      I := FindFirst(Path, 0, SearchRec);
      while I = 0 do
      begin
        Result.Add(SearchRec.Name);
        I := FindNext(SearchRec);
      end;
    except
      Result.Free;
      raise;
    end;
  end;

var
  SearchRec: TSearchRec;
  ListaArquivos: TStringList;
  i: Integer;
  item: TListItem;
begin
  ListaArquivos := TStringList.Create;
  try
    if FindFirst(Diretorio + '*.*', faDirectory, SearchRec) = 0 then
      repeat
        if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name <> '.') and
          (SearchRec.Name <then> 0 then
          for I := 0 to ListaArquivos.Count - 1 do
          begin
            item := Lista.Items.Add;
            item.Caption := Diretorio + SearchRec.Name + '\' + ListaArquivos[i];
          end;

          SubDiretoriosListview(Diretorio + SearchRec.Name + '\', Lista);
        end;
      until FindNext(SearchRec) <> 0;
    FindClose(SearchRec);
  finally
    ListaArquivos.Free;
  end;
end;

O modo de usar seria o mesmo do outro post e o retorno neste exemplo dado por você seria:

Código:
C:\Pastas\1\Icone.jpg
C:\Pastas\2\Icone.jpg
C:\Pastas\3\Icone.jpg


Não não... você entendeu errado .. esqueci também de mencionar que o Style do meu ListView é vsIcon ...

o que eu quero é basicamente isso

Ele listou as pastas de um diretório nesse listview so que ao invés de puxar os ícones de um TImageList ele puxa da própria pasta listada...

Então dentro de todas essas pastas de artistas tem um arquivo chamado 'capa.jpg'



Se você souber também como eu deixo meu listview com essa aparência ficaria mais agradecido ainda...

É algo no evento OnDrawItem do ListView mas ja procurei no google e não tem nada parecido ...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 2823
Localização: Belo Horizonte - MG

MensagemEnviada: Qua Set 19, 2018 12:20 pm    Assunto: Responder com Citação

Normalmente, não se usa Listview para mostrar imagens grandes lado a lado como você postou.

As imagens do Listivew são buscadas de um ImageList que, normalmente, se usa imagens pequenas (icones), todas devem ser do mesmo tamanho e do tipo BMP.

Se ainda quiser tentar usar o Listview, tente implementar os códigos abaixo:

Funções usadas:

Converter JPG para BMP:

Código:
procedure ConvertJPG_BMP(xFile: string);
var
  BMP: TBitmap;
  JPG: TJPegImage;
begin
  if ExtractFileExt(xFile) <> '.jpg' then
  begin
    ShowMessage('Formato diferente de jpg' + #13 + 'Formato atual : ' + ExtractFileExt(xFile));
    Exit;
  end;

  JPG := TJPegImage.Create;
  try
    JPG.LoadFromFile(xFile);
    BMP := TBitmap.Create;
    try
      BMP.Assign(JPG);
      BMP.SaveToFile(ChangeFileExt(xFile, '.bmp'));
    finally
      FreeAndNil(BMP);
    end;
  finally
    FreeAndNil(JPG);
  end;
end;


Redimensionar Imagens:

Código:
procedure RedimensionaImagem(bmpOrig, bmpDest: TBitmap; newWidth, newHeight: Integer);
var
  xIni, xFin, yIni, yFin, xSalt, ySalt: Double;
  X, Y, pX, pY, tpX: Integer;
  R, G, B: Integer;
  pxColor: TColor;
begin
  bmpDest.Width := newWidth;
  bmpDest.Height := newHeight;

  xSalt := bmpOrig.Width / newWidth;
  ySalt := bmpOrig.Height / newHeight;

  yFin := 0;
  for Y := 0 to pred(newHeight) do
  begin
    yIni := yFin;
    yFin := yIni + ySalt;
    if yFin >= bmpOrig.Height then
      yFin := pred(bmpOrig.Height);

    xFin := 0;
    for X := 0 to pred(newWidth) do
    begin
      xIni := xFin;
      xFin := xIni + xSalt;
      if xFin >= bmpOrig.Width then
        xFin := pred(bmpOrig.Width);

      R := 0;
      G := 0;
      B := 0;
      tpX := 0;

      for pY := Round(yIni) to Round(yFin) do
        for pX := Round(xIni) to Round(xFin) do
        begin
          Inc(tpX);
          pxColor := ColorToRGB(bmpOrig.Canvas.Pixels[pX, pY]);
          R := R + GetRValue(pxColor);
          G := G + GetGValue(pxColor);
          B := B + GetBValue(pxColor);
        end;

      bmpDest.Canvas.Pixels[X, Y] := RGB(Round(R / tpX), Round(G / tpX), Round(B / tpX));
    end;
  end;
end;


Adaptação para Listar as imagens no Listview:

Código:
procedure SubDiretoriosListview(Diretorio: string; Lista: TListView);

// Funcao para listar arquivos da pasta
  function GetFileList(const Path: string): TStringList;
  var
    I: Integer;
    SearchRec: TSearchRec;
  begin
    Result := TStringList.Create;
    try
      I := FindFirst(Path, 0, SearchRec);
      while I = 0 do
      begin
        Result.Add(SearchRec.Name);
        I := FindNext(SearchRec);
      end;
    except
      Result.Free;
      raise;
    end;
  end;

var
  SearchRec: TSearchRec;
  ListaArquivos: TStringList;
  I, cont: Integer;
  item: TListItem;
  imagem: TBitmap;
  imagemStr: string;
begin
  cont := -1;
  ListaArquivos := TStringList.Create;
  try
    if FindFirst(Diretorio + '*.*', faDirectory, SearchRec) = 0 then
      repeat
        if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name <> '.') and
          (SearchRec.Name <> '..') then
        begin
          ListaArquivos.Clear;
          ListaArquivos := GetFileList(Diretorio + SearchRec.Name + '\*.jpg');

          if ListaArquivos.Count > 0 then
            for I := 0 to ListaArquivos.Count - 1 do
            begin
              Inc(cont);
              ConvertJPG_BMP(Diretorio + SearchRec.Name + '\' + ListaArquivos[I]);

              imagemStr := ChangeFileExt(Diretorio + SearchRec.Name + '\' + ListaArquivos
                [I], '.bmp');

              imagem := TBitmap.Create;
              try
                imagem.LoadFromFile(imagemStr);
                RedimensionaImagem(imagem, imagem, 48, 48); // Tamanho e largura da imagem
                ImageList1.Insert(cont, imagem, imagem);
              finally
                imagem.Free;
              end;

              item := Lista.Items.Add;
              item.ImageIndex := cont;
              item.Caption :=
                ExtractFileName(ChangeFileExt(Diretorio + SearchRec.Name + '\' + ListaArquivos
                [I], '.bmp'));
            end;

          SubDiretoriosListview(Diretorio + SearchRec.Name + '\', Lista);
        end;
      until FindNext(SearchRec) <> 0;
    FindClose(SearchRec);
  finally
    ListaArquivos.Free;
  end;
end;


Modo de uso:

Código:
SubDiretoriosListview('C:\Pastas\', ListView1);

_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 2823
Localização: Belo Horizonte - MG

MensagemEnviada: Qua Set 19, 2018 12:55 pm    Assunto: Responder com Citação

Uma segunda alternativa é usar o componente FlowPanel em que você pode colocar imagens nele que serão posicionadas, automaticamente, lado a lado.

Código:
procedure SubDiretoriosListview(Diretorio: string; Lista: TFlowPanel);

// Funcao para listar arquivos da pasta
  function GetFileList(const Path: string): TStringList;
  var
    i: integer;
    SearchRec: TSearchRec;
  begin
    Result := TStringList.Create;
    try
      i := FindFirst(Path, 0, SearchRec);
      while i = 0 do
      begin
        Result.Add(SearchRec.Name);
        i := FindNext(SearchRec);
      end;
    except
      Result.Free;
      raise;
    end;
  end;

var
  SearchRec: TSearchRec;
  ListaArquivos: TStringList;
  i, cont: integer;
  Imagem: TImage;
  imagemStr: string;
begin
  ListaArquivos := TStringList.Create;
  try
    if FindFirst(Diretorio + '*.*', faDirectory, SearchRec) = 0 then
      repeat
        if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name <> '.') and
          (SearchRec.Name <> '..') then
        begin
          ListaArquivos.Clear;
          ListaArquivos := GetFileList(Diretorio + SearchRec.Name + '\*.jpg');

          if ListaArquivos.Count > 0 then
            for i := 0 to ListaArquivos.Count - 1 do
            begin
              Imagem := TImage.Create(Self);
              Imagem.Parent := Lista;
              Imagem.Stretch := true;
              Imagem.Picture.LoadFromFile(Diretorio + SearchRec.Name + '\' + ListaArquivos[i]);
            end;
          SubDiretoriosListview(Diretorio + SearchRec.Name + '\', Lista);
        end;
      until FindNext(SearchRec) <> 0;
    FindClose(SearchRec);
  finally
    ListaArquivos.Free;
  end;
end;


Modo de uso:

Código:
SubDiretoriosListview('C:\Pastas\', FlowPanel1);

_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
Matrix-Designer
Novato
Novato


Registrado: Sábado, 27 de Julho de 2013
Mensagens: 29

MensagemEnviada: Qua Out 03, 2018 2:50 am    Assunto: Responder com Citação

natanbh1 escreveu:
Normalmente, não se usa Listview para mostrar imagens grandes lado a lado como você postou.

As imagens do Listivew são buscadas de um ImageList que, normalmente, se usa imagens pequenas (icones), todas devem ser do mesmo tamanho e do tipo BMP.

Se ainda quiser tentar usar o Listview, tente implementar os códigos abaixo:

Funções usadas:

Converter JPG para BMP:

Código:
procedure ConvertJPG_BMP(xFile: string);
var
  BMP: TBitmap;
  JPG: TJPegImage;
begin
  if ExtractFileExt(xFile) <> '.jpg' then
  begin
    ShowMessage('Formato diferente de jpg' + #13 + 'Formato atual : ' + ExtractFileExt(xFile));
    Exit;
  end;

  JPG := TJPegImage.Create;
  try
    JPG.LoadFromFile(xFile);
    BMP := TBitmap.Create;
    try
      BMP.Assign(JPG);
      BMP.SaveToFile(ChangeFileExt(xFile, '.bmp'));
    finally
      FreeAndNil(BMP);
    end;
  finally
    FreeAndNil(JPG);
  end;
end;


Redimensionar Imagens:

Código:
procedure RedimensionaImagem(bmpOrig, bmpDest: TBitmap; newWidth, newHeight: Integer);
var
  xIni, xFin, yIni, yFin, xSalt, ySalt: Double;
  X, Y, pX, pY, tpX: Integer;
  R, G, B: Integer;
  pxColor: TColor;
begin
  bmpDest.Width := newWidth;
  bmpDest.Height := newHeight;

  xSalt := bmpOrig.Width / newWidth;
  ySalt := bmpOrig.Height / newHeight;

  yFin := 0;
  for Y := 0 to pred(newHeight) do
  begin
    yIni := yFin;
    yFin := yIni + ySalt;
    if yFin >= bmpOrig.Height then
      yFin := pred(bmpOrig.Height);

    xFin := 0;
    for X := 0 to pred(newWidth) do
    begin
      xIni := xFin;
      xFin := xIni + xSalt;
      if xFin >= bmpOrig.Width then
        xFin := pred(bmpOrig.Width);

      R := 0;
      G := 0;
      B := 0;
      tpX := 0;

      for pY := Round(yIni) to Round(yFin) do
        for pX := Round(xIni) to Round(xFin) do
        begin
          Inc(tpX);
          pxColor := ColorToRGB(bmpOrig.Canvas.Pixels[pX, pY]);
          R := R + GetRValue(pxColor);
          G := G + GetGValue(pxColor);
          B := B + GetBValue(pxColor);
        end;

      bmpDest.Canvas.Pixels[X, Y] := RGB(Round(R / tpX), Round(G / tpX), Round(B / tpX));
    end;
  end;
end;


Adaptação para Listar as imagens no Listview:

Código:
procedure SubDiretoriosListview(Diretorio: string; Lista: TListView);

// Funcao para listar arquivos da pasta
  function GetFileList(const Path: string): TStringList;
  var
    I: Integer;
    SearchRec: TSearchRec;
  begin
    Result := TStringList.Create;
    try
      I := FindFirst(Path, 0, SearchRec);
      while I = 0 do
      begin
        Result.Add(SearchRec.Name);
        I := FindNext(SearchRec);
      end;
    except
      Result.Free;
      raise;
    end;
  end;

var
  SearchRec: TSearchRec;
  ListaArquivos: TStringList;
  I, cont: Integer;
  item: TListItem;
  imagem: TBitmap;
  imagemStr: string;
begin
  cont := -1;
  ListaArquivos := TStringList.Create;
  try
    if FindFirst(Diretorio + '*.*', faDirectory, SearchRec) = 0 then
      repeat
        if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name <> '.') and
          (SearchRec.Name <then> 0 then
            for I := 0 to ListaArquivos.Count - 1 do
            begin
              Inc(cont);
              ConvertJPG_BMP(Diretorio + SearchRec.Name + '\' + ListaArquivos[I]);

              imagemStr := ChangeFileExt(Diretorio + SearchRec.Name + '\' + ListaArquivos
                [I], '.bmp');

              imagem := TBitmap.Create;
              try
                imagem.LoadFromFile(imagemStr);
                RedimensionaImagem(imagem, imagem, 48, 48); // Tamanho e largura da imagem
                ImageList1.Insert(cont, imagem, imagem);
              finally
                imagem.Free;
              end;

              item := Lista.Items.Add;
              item.ImageIndex := cont;
              item.Caption :=
                ExtractFileName(ChangeFileExt(Diretorio + SearchRec.Name + '\' + ListaArquivos
                [I], '.bmp'));
            end;

          SubDiretoriosListview(Diretorio + SearchRec.Name + '\', Lista);
        end;
      until FindNext(SearchRec) <> 0;
    FindClose(SearchRec);
  finally
    ListaArquivos.Free;
  end;
end;


Modo de uso:

Código:
SubDiretoriosListview('C:\Pastas\', ListView1);



Muito obrigado natan ja tinha meio que desistido achando q não era possivel rs, funcionou direitinho pra o que eu quero Very Happy
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB