IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

TShellTreeview + Selected..


Sujet :

Composants VCL Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 213
    Points : 81
    Points
    81
    Par défaut TShellTreeview + Selected..
    Hello,

    je voudrais récupérer le sélection d'un TShellTreeView.
    d'après google etc, c'est tout simplement "Selected"..

    Ma ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Listage := FindFirst(TreeView.Selected + '\*.mp3', faAnyFile, sr);
    Erreur :
    [Erreur] U_AdminDSC.pas(82): Types incompatibles : 'String' et 'TTreeNode'
    :

    Merci, bon dimanche!
    [Modération]
    Merci d'utiliser les balises code ou quote,Laurent Dardenne
    [/Modération]

  2. #2
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    744
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 744
    Points : 500
    Points
    500
    Par défaut
    salut ,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        TreeView.Selected;
    Cela indique celement si le treeView est selectionné , mais pas l'element..

    tu dois travailler avec les items du treeview ou l'indice du items represente un noeud de l'arborescence. (un noeud est un TTreenode d'ou ton message d'erreur )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        TreeView.items[x].Selected; 
        TreeView.items[x].text; 
        ...
    bye.
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 213
    Points : 81
    Points
    81
    Par défaut
    coucou,


    J'ai fais :

    ChoixRepertoire := TreeView.items[1].text;
    ShowMessage(ChoixRepertoire);

    Quel que ce sois ma sélection ca affiche:


    Système (C

    ???

  4. #4
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    744
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 744
    Points : 500
    Points
    500
    Par défaut
    resalut

    ChoixRepertoire := TreeView.items[1].text;
    ShowMessage(ChoixRepertoire);
    Cela affiche le texte de l'items numero 1 de ton arborescence soit : systeme( C : )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TForm1.TreeView1Click(Sender: TObject);
    var I :Integer;
    begin
    for I :=0 to(TreeView1.items.Count-1)do
        if TreeView1.Items[I].Selected then
           label1.caption:=(TreeView1.Items[I].Text);
    end;
    bye
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 213
    Points : 81
    Points
    81
    Par défaut
    Merci mais y'a un soucis ..


    ca affiche juste :

    WINDOWS
    ou
    SYSTEM32

    et jamais C:\WINDOWS\SYSTEM32

    ??

  6. #6
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    744
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 744
    Points : 500
    Points
    500
    Par défaut
    hello !

    c'est a çà que sert la programmation !! si tout se fesait tout seul on serai plus là !
    A moins que tu n'utilises pas le composant TTreeview de delphi , mais un composant dedié a cela qui doit posseder une proprieté qui te retourne le chemin , sinon tu dois le faire toi meme .

    quand tu as determiné l'items selectionné , tu recomposes le chemin avec la propriéte parent de ton items.. jusqu'a niveau qui t'interesse pour toi le Level 0 je pense .

    bye
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  7. #7
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    744
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 744
    Points : 500
    Points
    500
    Par défaut
    re

    je pense que ceci devrai t'aider ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    procedure TForm1.TreeView1Click(Sender: TObject);
    var I :Integer;
        chemin:string;
        Noeud:Ttreenode;
    begin
         for I :=0 to(TreeView1.items.Count-1)do
             if TreeView1.Items[I].Selected then Noeud:=TreeView1.Items[I];
     
         chemin:=Noeud.Text;
         while Noeud.Level > 0 do
         begin
            Noeud:=Noeud.Parent;
            chemin:=Noeud.text+'/'+chemin;
         end;
         label1.caption:=chemin;
    end;
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 213
    Points : 81
    Points
    81
    Par défaut
    Hello,

    T'es vraiment sur qu'il faut fabriquer le path à la main?

    Car déjà ton code me semble "long" pour rien qu'avoir le path, c'est quand même le but d'un TreeView non? y'a surement un moyen autre pour avoir le Path de la sélection, non?

    avec le code que tu m'a tappé ca donne :


    system/Système (C/WINDOWS/SYSTEM32

    Y'a du progrès, mais ca bug pas mal..


    :

  9. #9
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Salut
    Eh bé, pourquoi si compliqué?
    Pour un TShellTreeView nommé ShellTreeView1, le chemin actif se trouve comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Listage:=ShellTreeView1.Path;
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 213
    Points : 81
    Points
    81
    Par défaut
    Citation Envoyé par Pedro204
    Salut
    Eh bé, pourquoi si compliqué?
    Pour un TShellTreeView nommé ShellTreeView1, le chemin actif se trouve comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Listage:=ShellTreeView1.Path;
    Ben voilà..

    PS: C'est pas que je veux jouer ma star mais, quand je click sur F1 (delphi7) j'ai rien qui m'indique comment récupérer cela..

    Et l'autocomplétition non plus

    Si qq savait pourquoi..

    Merci

  11. #11
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Citation Envoyé par mickaelmediaprod
    PS: C'est pas que je veux jouer ma star mais, quand je click sur F1 (delphi7) j'ai rien qui m'indique comment récupérer cela..
    C'est parce que ce composant est une sorte d'exemple (onglet samples chez moi).
    Citation Envoyé par mickaelmediaprod
    Et l'autocomplétition non plus
    Ca par contre, ce n'est pas normal
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Multi-selection dans une ComboBox ?
    Par Moloko dans le forum MFC
    Réponses: 5
    Dernier message: 07/07/2021, 17h26
  2. Réponses: 5
    Dernier message: 23/04/2009, 08h56
  3. [VB6] [Crystal] Selection enregistrement
    Par littlecow dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/01/2005, 13h08
  4. TEdit : selection du texte et autre fonction
    Par Odulo dans le forum Composants VCL
    Réponses: 5
    Dernier message: 01/08/2002, 14h27
  5. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo