Witam,
Mam mały problem w przeróbce kawałka kodu, generuję TreeView na podstawie StringList
StringList wypełniana jest z pliku w którym są pełne ścieżki do plików, np. C:\ftp\xxx.txt itp
procedure Tfrm.Button2Click(Sender: TObject);
Function GetNode(const Text: String; Owner: TTreeNodes; Parent: TTreeNode): TTreeNode;
var i: integer;
begin
if (Trim(Text) = '') then
begin
Result:= Parent;
Exit;
end
else
Result:= nil;
for i:=0 to Parent.Count-1 do
if (Parent[i].Text = Text) then
begin
Result:= Parent[i];
Break;
end;
if not Assigned(Result) then
Result:= Owner.AddChild(Parent, Text);
end;
var i, offset, p: integer;
Data: TStringList;
Node: TTreeNode;
begin
data := TStringList.Create();
data.LoadFromFile('c:\a.txt');
trv1.Items.Clear;
trv1.Items.AddChildFirst(nil, 'root');
for i:=0 to Data.Count-1 do
begin
Node:= trv1.Items.GetFirstNode;
offset:= 1;
p:= Pos('\', Data[i]);
while (p > 0) do // while (p > 0) do
begin
Node:= GetNode( Copy(Data[i], offset, p-offset), trv1.Items, Node);
offset:= p+1;
p:= PosEx('\', Data[i], offset);
end;
end;
end;
i wszystko jest pięknie, ładnie poza linią
trv1.Items.AddChildFirst(nil, 'root');
której usunięcie naturalnie powoduje błąd a główna gałąź 'root' nie jest mi potrzebna.
teraz to wygląda tak że jest root a w niej C: , D: itd jako rodzice a chciałbym żeby w drzewie było tylko
C: D: itd jako rodzice, bez tej nadrzędnej gałęxi root.
Czy byłby ktoś w stanie pomóc?
Z góry dziękuję
Pozdrawiam