Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Strings des letzten TreeView Knoten mit allen Children in ein Richedit schreiben

  Alt 2. Jun 2014, 08:29
Besser ist es gleich nur Richedit.Lines als Parameter vom Typ TStrings zu übergeben. Dann kann man da auch eine TStringList reinpacken.

Wenn es nämlich nur darum geht das Ergebnis in die Zwischenablage zu packen, macht es absolut keinen Sinn dafür ein TRichEdit als visuelle Komponente zu benutzen. Das ist ausschließlich zur Eingabe und Anzeige da, nicht für die Datenverarbeitung...

Also:
Delphi-Quellcode:
procedure TFDetail.NodesToStrings(const ATarget: TStrings; const ANode: TTreeNode);
var
  CurrentNode: TTreeNode;
begin
  CurrentNode := ANode;
  while Assigned(CurrentNode) do
  begin
    ATarget.Add(CurrentNode.Text);
    NodesToStrings(ATarget, CurrentNode.getFirstChild);
    CurrentNode := CurrentNode.getNextSibling;
  end
end;

procedure TFDetail.copy1Click(Sender: TObject);
var
  LastRootNode: TTreeNode;
  TargetStringList: TStringList;
begin
  LastRootNode := GetLastRootNode(TreeView1);
  if Assigned(LastRootNode) then
  begin
    TargetStringList := TStringList.Create;
    try
      TargetStringList.Add(LastRootNode.Text);
      NodesToStrings(TargetStringList, LastRootNode.getFirstChild);
      Clipboard.AsText := TargetStringList.Text;
    finally
      TargetStringList.Free;
    end;
  end
end;
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat