Einzelnen Beitrag anzeigen

atgis
(Gast)

n/a Beiträge
 
#8

Re: TreeView - Archiv erstellen

  Alt 1. Sep 2007, 14:14
Ok Danke Leute ich habs ....Hab eine Funktion hier im Board gefunden...die den Namen des Nodes aussließt:

Delphi-Quellcode:
//Funktion gibt bei Klick auf einen SubNode,
//den Namen des darüberliegenden Hauptpunktes aus
function NodeText(node: TTreeNode; startLevel: integer; delimiter: char): string;
begin
  if not Assigned(node) then
    Result := ''
  else if node.Level > startLevel then
    Result := NodeText(node.Parent, startLevel, delimiter) + delimiter + node.Text
  else if node.Level = startLevel then
    Result := node.Text
  else
    Result := ''
end;
So nun kann ich den SubNode im jeweiligen Ordner als TXT anlegen:

Delphi-Quellcode:
//Unterpunkt erstellen
procedure TForm1.Unterpunkt1Click(Sender: TObject);
begin
 //Maske für SubNodeNamen
 Form3.ShowModal;

 //SubNode erstellen
 TreeView1.Items.AddChild(TreeView1.Selected,Form3.edOrdnername.text);

 try Memo.Lines.SaveToFile(ExtractFilePath(ParamStr(0))+NodeText(TreeView1.Selected, 0, '\')+'\'+Form3.edOrdnername.text+'.txt');
 except
  ShowMessage('Weitere Verzweigung nicht möglich!');
 end;
end;
Änderungen des Memo speichern funktioniert auch so:

Delphi-Quellcode:
//Neuen Inhalt Speichern
procedure TForm1.Speichern1Click(Sender: TObject);
begin
try Memo.Lines.SaveToFile(ExtractFilePath(ParamStr(0)) +NodeText(TreeView1.Selected, 0, '\')+'.txt');
 except
  ShowMessage('Pfad nicht gefunden');
 end;
end;
Und das Laden der TXT beim Klick auf den jeweiligen SubNode:

Delphi-Quellcode:
//Inhalt von TXT's in Memo Laden
procedure TForm1.TreeView1Click(Sender: TObject);
begin
 with Sender as TTreeView do
  case Selected.Level of
   0: ShowMessage(NodeText(TreeView1.Selected, 0, '\')+': Einstellung, Bedüsung,... etc');
   1: Memo.Lines.LoadFromFile(ExtractFilePath(ParamStr(0)) +NodeText(TreeView1.Selected, 0, '\')+'.txt');
  end;
end;

Ist es möglich beim umbenennen eines Nodes/SubNodes den Ordner/TXT-Datei auch gleichzeitig mit umzubenennen?
  Mit Zitat antworten Zitat