Einzelnen Beitrag anzeigen

Uwe 111

Registriert seit: 29. Nov 2005
61 Beiträge
 
#1

Im TreeView Dateien ohne endung

  Alt 5. Apr 2010, 19:59
Hallo und Frohe Ostern noch

Mein Problem ist, ich habe dieTreeView aus ein Ordner befüllt. Aber ich möchte die endungen wie .txt nicht haben.
Also zum Beispiel die Datei Test.txt soll nur Test im Treeview stehen.

Hier mein Quellcode wie ich die TreeView befüllt habe

Delphi-Quellcode:
type
  pNodeInfo = ^tNodeInfo;
  tNodeInfo = record
      Path: Boolean;
      Name: String;
    end;


procedure TForm1.FindFilesTree(aTree: tTreeView; aPath: String;
  aNode: tTreeNode; aWithFiles: Boolean);
Var
  SearchRec: tSearchRec;
  NodeTmp: tTreeNode;
  Info: pNodeInfo;
Begin
  aTree.Items.BeginUpdate;

  // Wenn am Ende der Pfadangabe noch kein \ steht, dieses hinzufügen
  If aPath [Length (aPath)] <> '\Then
    aPath := aPath + '\';

  If FindFirst (aPath + '*.*', faDirectory, SearchRec) = 0 Then
    Begin
      Repeat
        // Wenn es sich um ein Verzeichnis handelt
        If (SearchRec.Attr and faDirectory = faDirectory)
          and (SearchRec.Name[1] <> '.')
        Then
          Begin
            If (SearchRec.Attr and faDirectory > 0) then
              Begin
                New (Info);
                Info^.Path := True;
                Info^.Name := aPath + SearchRec.Name;

                // zum aktuellen Eintrag hinzufügen
                aNode := aTree.Items.AddChildObject (aNode, SearchRec.Name, Info);
              End;

            // Eintrag merken
            NodeTmp := aNode.Parent;
            // auf Untereinträge prüfen
            FindFilesTree (aTree, aPath + SearchRec.Name, aNode, aWithFiles);
            // Eintrag wiederholen
            aNode := NodeTmp;
          End
        Else
          // Eintrag ist eine Datei
          If aWithFiles
            and (SearchRec.Name <> '.') and (SearchRec.Name <> '..')
          Then
            Begin
              New (Info);
              Info^.Path := False;
              Info^.Name := aPath + SearchRec.Name;

              aTree.Items.AddChildObject (aNode, SearchRec.Name, Info);
            End;

      // solange weiter bis keine wieteren Dateien/Verzeichniss gefunden werden
      Until FindNext (SearchRec) <> 0;

      FindClose(SearchRec);
    End;

  aTree.Items.EndUpdate;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Path := ExtractFilePath(Application.ExeName) + 'Daten\';
  FindFilesTree (TreeView1, Path, nil, True);
end;
MfG
Uwe 111
  Mit Zitat antworten Zitat