![]() |
Speichern von Daten auf Festplatte
Ich programmiere seit jeher kleine Datenbank-Programme mit Delphi. Dabei speichere ich der Einfachheit halber immer alles in Textdateien ab. Langsam wird es aber zum Problem, denn mein aktuelles Projekt verlangt eine flexiblere Lösung. Bisher lese ich immer beim Start des Programms die ganze Textdatei in meine Datenstruktur und speichere am Ende wieder alles komplett ab. Das wird risikoreich, wenn man bereits viele Daten gespeichert hat und nun die Struktur an einer Stelle ändern muss.
Von PHP und MySQL kenne ich die Sache, dass ich gezielt auf Datensätze zugreifen kann und jederzeit die Struktur beliebig ändern kann. Nun suche ich sowas ähnliches für Delphi (offline muss es leider sein und ohne externe Datenbank wie Access). Welche Dateitypen gibt es noch bei Delphi? Ich will weg von den Textfiles zu Datendateien. Gibt es Typen, in denen ich gezielt an Datensätze ran kann, also ohne die gesamte Datei zu lesen oder speichern? |
Re: Speichern von Daten auf Festplatte
Optimal sind INI Files !!(siehe OH)
da gibst du beim speichern und lesen einen schlüssel z.B.= die Datei sieht so aus:
Delphi-Quellcode:
und dann:
[Optionen]
autosave=true [Ansicht] color=green
Delphi-Quellcode:
hoffe es hilft !
var: datei:tinifile;
begin datei:=Tinifile.create(filename); autosave:=datei.ReadBool('Optionen','autosave',default);//autosave aus datei auslesen datei.writeString('Ansicht','color',wert);//unter color einen anderen wert speichern |
Re: Speichern von Daten auf Festplatte
Hallo JPSelter,
vielleicht solltest Du doch einmal darüber nachdenken, ein kostenfreies Datenbanksystem zu verwenden. Daten in irgendwelchen Records habe ich zu TurboPascal-V3-Zeiten das letzte Mal verwendet (und selbst damals haben wir uns soetwas ähnliches wie ein Datenbanksystem geschaffen mit den typischen Befehlen wie First, Last, Next, Prior). Sicher kann man alles irgendwie speichern (in INI-Dateien, TXT-Dateien oder selbstgeschnitzten DAT-Dateien, aber man kann auch heute noch mit einem Trabi oder dem Fahrrad statt mit einem BMW durch die Gegend fahren). Datenbanksysteme wurden eben zum Speichern und Verwalten von Daten erfunden, unabhängig davon, ob Du nur wenig oder viele Daten speichern willst. Ob Paradox, ADS, Firebird, MySQL oder .... Da wurde hier im Forum schon massenhaft drüber diskutiert, Hilfe beim Umstieg ist Dir hier im Forum sicher. mfg eddy |
Re: Speichern von Daten auf Festplatte
Ich habe oben bereits geschrieben, dass ich offline und ohne Datenbank arbeiten MUSS, weil die Software auf mehreren Rechnern laufen soll, darunter Laptops, die auch ausser Haus arbeiten müssen. Daher bin ich auf Dateien angewiesen. Hätte ich diese Vorgabe nicht, hätte ich schon alles auf MySQL umprogrammiert.
|
Re: Speichern von Daten auf Festplatte
hast du mal das Stichwort "Embedded Datenbanken" gehört?
da hast du eine DLL, mit der Du Zugriff auf deine Daten hast. Die Daten werden lokal auf der Platte gehalten, aber du kannst per SQL drauf zugreifen. Dies bieten z.B. Firebird oder mySQL. einfach hier im Forum mal danach suchen... |
Re: Speichern von Daten auf Festplatte
@hardcorehorst: Ini-datein sind zum Speichern von größeren datenmengen am denkabr ungeeignetsten. Zum einen unterliegen sie einer Größenbeschränken, die man zwar umgehen kann, aber so bald es um größere datenmengen geht, wirst du ziemliche Probleme mit der Performance bekommen.
|
Re: Speichern von Daten auf Festplatte
Zitat:
|
Re: Speichern von Daten auf Festplatte
Zitat:
du musst aber aufpassen: EmbeddedMySQL ist lizenzpflichtig. das EmbeddedFirebird ist hingegen kostenlos. |
Re: Speichern von Daten auf Festplatte
Wo isn da genau der Unterschied? Dieses Firebird ist auch MySQL (also die mir bekannten MySQL-Befehle aus PHP) oder noch etwas anderes? Gibts eine Admin-Oberfläche für die Datenbankstruktur oder muss ich das dann alles per Hand einprogrammieren?
|
Re: Speichern von Daten auf Festplatte
Zitat:
Dort ist sicherlich vieles erklärt. und es gibt auch hier in DP ein gutes Tutorial zu EmbeddedFirebird. einfach mal die Suchfunktion bemühen... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 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