Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Verzeichnisstruktur in Tabelle ablegen (https://www.delphipraxis.net/37059-verzeichnisstruktur-tabelle-ablegen.html)

PeterRettig 30. Dez 2004 13:03


Verzeichnisstruktur in Tabelle ablegen
 
Hallo,

ich stehe gerade vor dem Problem einen Verzeichnisbaum,
den ich natürlich auch ändern können will in einer
Tabellenstruktur zu speichern. Ich hatte da an einen
Datensatz pro Verzeichnis gadacht.
Gibt es da bereits geniale Lösungsansätze um so etwas
möglichst elegant zu programmieren?

Eine mögliche Lösung wäre ja in etwa folgender, aber doch
sehr einfacher Ansatz:

A
|-B
|-C
| |_D
|-E

Index.Name.Vater
...1.......A......-
...2.......B......A
...3.......C......A
...4.......D......C
...5.......E......A

Albi 30. Dez 2004 13:14

Re: Verzeichnisstruktur in Tabelle ablegen
 
Hallo,

Du willst, wenn ich das richtig verstanden habe, einen Pfad in der DB abspeichern und dann in TreeView wieder anzeigen lassen.

Dann speichert Du einfach den Pfad in der DB und beim auslesen überprüft die "\" und weist dass Prog an, nach jedem "\" ein Pfadebene tiefer zu gehen.

Aber die Baumstuktur ansich, wie es willst kannst Du nicht in einer DB abspeichern.

Stevie 30. Dez 2004 13:28

Re: Verzeichnisstruktur in Tabelle ablegen
 
Hallo Peter,

ich meine mich zu erinnern, dass es bei der JVCL eine TDBTreeView-Komponente gab... :gruebel:

MfG
Stevie

PeterRettig 30. Dez 2004 13:44

Re: Verzeichnisstruktur in Tabelle ablegen
 
Zitat:

Dann speichert Du einfach den Pfad in der DB und
beim auslesen überprüft die "\" und weist dass Prog an,
nach jedem "\" ein Pfadebene tiefer zu gehen.
Das hat aber den Nachteil, das ich die komplette Tabelle
(oder einen ziemlich großen Teil) bei jeder Änderung eines
Verzeichnisnamens neu schreiben müsste.

Zitat:

ich meine mich zu erinnern, dass es bei der JVCL eine
TDBTreeView-Komponente gab...
Eine sehr interessante Komponente, aber für meine Zwecke nicht
wirklich geeignet, weil dort pro Verzeichnisebene eine eigene
Tabelle benötigt wird...

Stevie 30. Dez 2004 13:49

Re: Verzeichnisstruktur in Tabelle ablegen
 
Eigentlich gibt's an deinem eigenen Vorschlga nix auszusetzen, vorrausgesetzt,
du beachtest die richtige Reihenfolge beim Erstellen von Vater- und Kind-Nodes.

Albi 30. Dez 2004 14:02

Re: Verzeichnisstruktur in Tabelle ablegen
 
Wieso must du da die ganze Tabelle umschreiben :gruebel:

Du benötigst 2 Felder (ID, Pfad). Die ID generiert sich alleine und im Pfad steht der komplette Pfad (C:\Pafad\Pfad1\Pfad2).

Dann bastelst Du die Procedure der Tabelle durchgeht und die Treeview erstellt. Wenn sich nun ein Pfad ändert, dann brauchst Du doch nur die eine Zeile zu ändern und nicht die komplette DB neu zu schreiben.

Stevie 30. Dez 2004 14:07

Re: Verzeichnisstruktur in Tabelle ablegen
 
Wenn sich der oberste Ordner ändert, müssen alle Nodes geändert werden!!! :shock:

ibp 30. Dez 2004 14:17

Re: Verzeichnisstruktur in Tabelle ablegen
 
du brauchst drei felder : (id, parentid, ordnername), damit kannst du eigentlich alles machen, denn jeder ordner ist eindeutig durch die id gekennzeichnet und wenn du nur einen ordnernamen hast, kannst du den eindeutig bestimmen durch den parent!


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:19 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