Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Speichern von Daten auf Festplatte (https://www.delphipraxis.net/55884-speichern-von-daten-auf-festplatte.html)

JPSelter 28. Okt 2005 08:54


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?

hardcorehorst 28. Okt 2005 09:06

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:
[Optionen]
autosave=true
[Ansicht]
color=green
und dann:
Delphi-Quellcode:
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
hoffe es hilft !

eddy 28. Okt 2005 09:22

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

JPSelter 28. Okt 2005 09:34

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.

RavenIV 28. Okt 2005 09:44

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...

Luckie 28. Okt 2005 09:47

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.

JPSelter 28. Okt 2005 09:54

Re: Speichern von Daten auf Festplatte
 
Zitat:

Zitat von RavenIV
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...

Genau sowas ähnliches wollte ich nun mal erfragen. Also ist das eine Art MySQL das im Hintergrund neben meinem Programm läuft, also quasi integriert ist?

RavenIV 28. Okt 2005 10:03

Re: Speichern von Daten auf Festplatte
 
Zitat:

Zitat von JPSelter
Zitat:

Zitat von RavenIV
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...

Genau sowas ähnliches wollte ich nun mal erfragen. Also ist das eine Art MySQL das im Hintergrund neben meinem Programm läuft, also quasi integriert ist?

genau so ist es.
du musst aber aufpassen: EmbeddedMySQL ist lizenzpflichtig.
das EmbeddedFirebird ist hingegen kostenlos.

JPSelter 28. Okt 2005 10:05

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?

RavenIV 28. Okt 2005 10:17

Re: Speichern von Daten auf Festplatte
 
Zitat:

Zitat von JPSelter
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?

geh do mal auf die webseite von Firebird.
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 02:56 Uhr.
Seite 1 von 2  1 2      

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