habe das problem mit hilfe diese änderungen selbst behäben können *G*
Delphi-Quellcode:
function TForm2.GetAnderDir(dir:String):boolean;
var
sr:TSearchRec;
ok:Boolean;
begin
ok:=False;
if findFirst(Dir+'\*.*', faAnyFile,SR) = 0 then begin
repeat
if (sr.Name[1] <> '.') and (sr.Attr and faDirectory > 0) then begin
// ShowMessage(sr.name);
ok:=True;
break;
end;
until FindNext(Sr) <> 0;
end;
FindClose(sr);
result:=ok;
end;
procedure TForm2.VerzBaum(Dir: String; aTV:TTreeView; aItem: TTreeNode);
var
SR: TSearchRec;
NeuerNode: TTreeNode;
begin
aTV.Items.BeginUpdate;
if findFirst(Dir+'\*.*', faAnyFile,SR) = 0 then
repeat
if (sr.Name[1] <> '.') and (sr.Attr and faDirectory > 0) then begin
NeuerNode := aTV.Items.AddChild(aItem,SR.Name);
NeuerNode.HasChildren := GetAnderDir(dir + '\' +NeuerNode.text);
end;
until FindNext(SR) <> 0;
FindClose(SR);
aTV.Items.EndUpdate;
// aItem.HAsChildren := aItem.count > 0;
end;
Diese code durch sucht einmal das hauptverzeichnis dann schaut die procedur GetAnderDir in das nächte verzeichnis rein um so diese + zu setzten wenn es unterverzeichnise gibt.. ich hoffe ihr könnte mir folgen.....
vielen dank für die hilfe !
Edit: noch was vergeesen:
du schreibst immer: if (SR.Name <> '.') and (SR.Name <> '..') Then
aber es würde reichen if sr.name[1] <> '.' then