AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Festplatte in TTreeView einlesen
Thema durchsuchen
Ansicht
Themen-Optionen

Festplatte in TTreeView einlesen

Ein Thema von H.Bothur · begonnen am 5. Dez 2023 · letzter Beitrag vom 5. Dez 2023
Antwort Antwort
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
257 Beiträge
 
Delphi 11 Alexandria
 
#1

Festplatte in TTreeView einlesen

  Alt 5. Dez 2023, 18:06
Ich habe hier 10 Jahre alten Qellcode von @himitsu gefunden der so aussieht als ob das genau das ist was ich suche. Leider sagt Delphi 11 das es

Delphi-Quellcode:
Info^.Path := True;
Info^.Name := aPath + SearchRec.Name;
.Path und .Name nicht kennt (undeklarierter Bezeichner).

Nun weiß ich leider von Pointern und dem ganzen zu wenig das ich den Fehler selber verstehe ... Info wird oben in den Variablen definiert, PNodeInfo kommt imho aus den Vcl.ComCtrls und die sind mit Uses eingebunden ... was ist da falsch ?

Gruss
Hans

Delphi-Quellcode:
Procedure FindFilesTree(aTree: TTreeView; aPath: String; aNode: TTreeNode; aWithFiles: Boolean);
Var
  SearchRec: TSearchRec;
  NodeTmp: TTreeNode;
  Info: PNodeInfo;
  FileInfo: TShFileInfo;
Begin
  aTree.Items.BeginUpdate;

  // Wenn am Ende der Pfadangabe noch kein \ steht, dieses hinzufügen
  aPath := IncludeTrailingBackslash(aPath);

  If FindFirst(aPath + '*.*', faDirectory, SearchRec) = 0 Then
    Begin
      Repeat
        If (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
          Begin
            New(Info);
            Info^.Path := SearchRec.Attr and faDirectory <> 0;
            Info^.Name := aPath + SearchRec.Name;
            NodeTmp := aTree.Items.AddChildObject(aNode, SearchRec.Name, Info);
            If Info^.Path Then
              Begin
                NodeTmp.ImageIndex := 1;
                FindFilesTree(aTree, aPath + SearchRec.Name, NodeTmp, aWithFiles);
              End
            Else
              Begin
                SHGetFileInfo(PChar(aPath + SearchRec.Name), 0, FileInfo,
                  SizeOf(FileInfo), SHGFI_ICON or SHGFI_SMALLICON);
                NodeTmp.ImageIndex := FileInfo.iIcon;
              End;
          End;
      Until FindNext(SearchRec) <> 0;
      FindClose(SearchRec);
    End;
  aTree.Items.EndUpdate;
End;
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.603 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Festplatte in TTreeView einlesen

  Alt 5. Dez 2023, 18:07
Wie ist denn PNodeInfo deklariert (bzw. TNodeInfo, falls PNodeInfo = ^TNodeInfo) ?
Thomas Mueller
  Mit Zitat antworten Zitat
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
257 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Festplatte in TTreeView einlesen

  Alt 5. Dez 2023, 18:24
Sorry ... ich habe die tpe-Deklaration nicht kopiert ... das passiert wenn man stupide Quelltext kopiert - sorry !

Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz