Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TreeView prüfen ob Eintrag vorhanden.... (https://www.delphipraxis.net/118001-treeview-pruefen-ob-eintrag-vorhanden.html)

hedie 29. Jul 2008 23:16


TreeView prüfen ob Eintrag vorhanden....
 
Hallo

Angenommen ich habe eine Treeview mit folgender Struktur:

http://endasmedia.ath.cx/files/ForumFiles/treeview.JPG

Nun habe ich in einem Editfeld eine Version einer Datei...

Sagen wir mal 1.0.2.5

Nun soll ein Subitem beim Treeview eintrag 1.x.x.x hinzugefügt werden...
das subitem soll 1.0.2.5 heissen.

Nun haben wir die Version 3.0.5.2

Nun soll ein Komplett neuer Eintrag erstellt werden (haupt item) mit einem
unter item mit der Caption 3.0.5.2
Das haupt item jedoch nur 3.x.x.x

Ich hab keinen Plan wie ich prüfen kann ob ein eintrag mit der Caption irgendwas
bereits vorhanden ist und wenn ja den Itemindex auslesen um entsprechen subitems hinzufügen zu können....


Danke schonmal für eure hilfe

Chemiker 30. Jul 2008 00:35

Re: TreeView prüfen ob Eintrag vorhanden....
 
Hallo hedie,

in diesem Tutorial stehen einige Informationen über TreeView.

TreeView Tut.

Bis bald Chemiker

alleinherrscher 30. Jul 2008 01:00

Re: TreeView prüfen ob Eintrag vorhanden....
 
Ich würde den TreeView wirklich nur als visuelle Komponente benutzten und eine interne Datenstruktur verwenden, die die Versionsnummern verwaltet. Du könntest da z.B. Pointer auf ein Record benutzen:

Delphi-Quellcode:
type
  PVersionID= ^TVersionID;
  TVersionID= record
    MainVersion: integer;
    SubVersion: PVersion;
    NextVersion: PVersion;
   end;
In der MainVersion speicher du nur die erste Zahl deiner Version, z.B. 1,2 oder 3. Hast du jetzt die Version 1.0.0.1 und willst nachsehen ob Version 1.0.0.2 schon existiert bzw. ggf. neu anlegen, dann läufst du erstmal ale MainVersions durch bis du bei 1 ankommst. Dann gehst du in die Subversion (das müsste dann 0 sein). Dies stimmt mit deiner neu anzulegenden Nummer überein, also gehst du noch tiefer mit Subversion rein (wieder erhälst du eine 0), das spielchen nochmal von vorne und du erhälst eine 1. Dein Programm erkennt: 1.0.0.2 gibt es noch nicht. D.h. es muss eine NextVersion angelegt werden...usw...

Hoffe, das kann man so halbwegs verstehen?!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz