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