![]() |
Fehler mit TreeView
Hi,
kann mir jemand sagen, wo hier der Fehler liegt?
Delphi-Quellcode:
procedure TMainWindow.FormShow(Sender: TObject);
var f: Textfile; text: String; Node: TTreeNode; begin AssignFile(f, 'Theme.dat'); if not DirectoryExists('Data') then MkDir('Data'); if FileExists('Theme.dat') then Reset(f) else Rewrite(f); while not EOF(f) do begin Readln(f, text); trim(text); Node.Text := text; if tvChoice.Items.Count = 0 then tvChoice.Items.AddFirst(Node, text) else tvChoice.Items.Add(Node, text); end; CloseFile(f); end; |
Re: Fehler mit TreeView
Probiers mal hiermit:
Delphi-Quellcode:
procedure TMainWindow.FormShow(Sender: TObject);
var f: Textfile; text: String; Node: TTreeNode; begin AssignFile(f, 'Theme.dat'); if not DirectoryExists('Data') then MkDir('Data'); if FileExists('Theme.dat') then Reset(f) else Rewrite(f); while not EOF(f) do begin Readln(f, text); trim(text); // AddFirst brauchst du nicht. Node := tvChoice.Items.Add(nil, text); // Node ist dein neu ersteller Knoten und der Knoten wird als Knid-Knoten von 'nil' eingefügt, also ganz oben end; CloseFile(f); end; |
Re: Fehler mit TreeView
Danke, und wie bekomme ich heraus, welches Selektiert ist, ob überhaupt eins selektiert ist und wie bekomme ich die selektierung weg?
|
Re: Fehler mit TreeView
Die Online-Hilfe sagt dazu:
Delphi-Quellcode:
property Selected: TTreeNode;
property SelectionCount: Cardinal; property Selections[Index: Integer]: TTreeNode; |
Re: Fehler mit TreeView
Hi,
der zuletzt eingefügte Knoten ist danach immer der selectierte Knoten. Du kannst generell einen Knoten zwangsweise selectieren, indem du diesem selected zuweist, oder den selectierten Knoten ermitteln in dem du TreeView.Selected abfragst. Hier wird dir der selectierte Knoten zurückgeliefert. Grundsätzlich empfehle ich dir in deinen Code einen try-finally-Block einzufügen. Am Besten try hinder Reset/Rewrite und CloseFile in finally end. Somit ist sichergestellt, dass dein File auch bei einer Exception in der Bearbeitungsschleife sicher geschlossen wird. Gruß oki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz