Comment récupérer un nom de fichier affiché dans un ShellListView

denji Messages postés 5 Date d'inscription mardi 30 juillet 2002 Statut Membre Dernière intervention 14 février 2003 - 13 févr. 2003 à 19:34
alexis2015 Messages postés 73 Date d'inscription mardi 8 avril 2003 Statut Membre Dernière intervention 24 juillet 2005 - 31 août 2004 à 16:25
Bonjour à tous

voila, je n' arrive pas à récupérer les nom des fichiers affichés dans un ShellListView.

l'instruction : ShellListView.Item[i].caption ne marche pas....?!

Merci pour vos réponses

4 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
13 févr. 2003 à 22:51
Voilà au moins de quoi afficher le nom du répertoire et son emplacement sur le disque :

procedure TForm1.ShellListView1Click(Sender: TObject);
begin
  with ShellListView1 do
   if Assigned(ItemFocused) then
   begin
     Label1.Caption := SelectedFolder.DisplayName;
     Label2.Caption := SelectedFolder.PathName;
   end;
end;

May Delphi be with you
0
denji Messages postés 5 Date d'inscription mardi 30 juillet 2002 Statut Membre Dernière intervention 14 février 2003
14 févr. 2003 à 16:31
Merci DelphiProg !

Aussi étrange que cela puisse paraître, SelectedFolder.DisplayName donne le nom..... du fichier sélectioné ! enfin bon, ca fonctionne.

Par contre le "if Assigned(ItemFocused) " provoque une erreur si on clique ailleur que sur un item.
Pour résoudre cela je pense qu'il vaut mieux utiliser :

if selectedFolder <>nil

Et encore Merci
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
14 févr. 2003 à 17:21
Tu as raison, j'étais reparti d'un morceau de code source que j'avais fait pour un autre membre du forum à propos de l'utilisation d'un TListView, croyant que c'était identique. Mais, chose étrange, la propriété ItemSelected ne renvoie rien.

Le composant TShellListView n'est pas documenté par Borland. Mais comme il hérite du TCustomListView et que sa propriété SelectedFolder est du type TShellFolder, il devenait évident d'utiliser ces deux propriétés.

NB : "If assigned(SelectedFolder)" est équivalent à "if SelectedFolder <> Nil".
May Delphi be with you
0
alexis2015 Messages postés 73 Date d'inscription mardi 8 avril 2003 Statut Membre Dernière intervention 24 juillet 2005
31 août 2004 à 16:25
Bonjour,
voilà j'ai moi meme rencontré ce problème, et j'ai trouvé qqch !

ShellListView.Folders[i].DisplayName
ShellListView.Folders[i].PathName

ShellListView.SelectedFolder > s'applique pour l'item encadré d'un cadre gris ( c'est le cadre gris qui est visible quand on selectionne plusieurs objets, le cadre gris se trouve sur le dernier object sélectionné)

Voilà j'espère avoir pu vous aider !
@+
0
Rejoignez-nous