Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Adressbuch


mcpopcorn - Sa 02.06.12 13:55
Titel: Adressbuch
guten tag :)
ich habe folgendes problem:
ich möchte ein adressbuch programmieren, auf relativ simpler ebene.
zunächst ist das alles auch kein problem. :)
ich habe bis jetzt mit records gearbeitet, jedoch werden die nach dem schließen des programms ja leider "gelöscht"...
meine frage also, wie kann ich einen record dauerhaft speichern?

ich bedanke mich jetzt schonmal für die antworten :)
Lars


jaenicke - Sa 02.06.12 14:18

Am einfachsten indem du dafür eine Datenbank verwendest. Je nach Delphiversion z.B. Firebird oder für geringere Ansprüche auch SQLite.

Der kompliziertere Weg wäre den Record direkt in eine Datei zu speichern. Wenn du Strings mit fester Größe usw. nimmst, kannst du den z.B. direkt mit WriteBuffer in einen TFileStream schreiben.
Empfehlenswerter wäre da aber die Verwendung von Klassen verbunden mit eigenen LoadFromStream und SaveToStream Methoden, die die einzelnen Daten in einen TStream speichern und daraus lesen.

Aber wie geschrieben: Am besten und einfachsten sind fertige Datenbanken. Welche kann ich ohne deine Delphiversion zu kennen (steht ja nicht bei dir im Profil) schlecht empfehlen.


mcpopcorn - Sa 02.06.12 14:54

ich verwende delphi 6 ;)

jedoch habe ich von datenbanken wenig ahnung, könntest du mir das bitte weiter erläutern? :)


jaenicke - Sa 02.06.12 15:13

Dann sollte SQLite for Delphi passen:
http://sqlite4delphi.sourceforge.net/


Blawen - Sa 02.06.12 15:23

user profile iconmcpopcorn hat folgendes geschrieben Zum zitierten Posting springen:
ich verwende delphi 6 ;)

jedoch habe ich von datenbanken wenig ahnung, könntest du mir das bitte weiter erläutern? :)


user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Dann sollte SQLite for Delphi passen:
http://sqlite4delphi.sourceforge.net/


Dazu passend dürfte das Kapitel 6.2 aus diesem Tutorial sein: http://downloads.delphi-treff.de/DelphiStarter.pdf


mcpopcorn - Sa 02.06.12 15:40

ich danke dir schonmal!
doch wie funktioniert das jetzt, was muss ich machen...habe die seiten überflogen, doch konnte damit nicht wirklich was anfangen...


jaenicke - Sa 02.06.12 15:49

Dann reicht überfliegen wohl nicht. ;-)

Da steht drin was du im Quelltext schreiben musst.


mcpopcorn - Sa 02.06.12 16:48

ok, ich danke euch! :)
werde mich dann jetzt intensiv damit auseinandersetzen und mein glück probieren :)


Blawen - Sa 02.06.12 16:53

user profile iconmcpopcorn hat folgendes geschrieben Zum zitierten Posting springen:
ok, ich danke euch! :)
werde mich dann jetzt intensiv damit auseinandersetzen und mein glück probieren :)
Programmieren hat selten etwas mit Glück zu tun :wink:


Delete - So 03.06.12 12:46

Also wenn er ein Anfänger ist, würde ich ihm schon zu typisierten Dateien raten. so schwer ist es auch nicht und man lernt was dabei.

Alternativ gingen natürlich auch XML-Dateien.


jasocul - Mo 04.06.12 09:34

Wenn typisierte Dateien eine mögliche Lösung sind, verweise ich mal auf meine völlig veraltete Seite [http://jasocul.de/html/typisierte_dateien.html].


Tranx - Mo 04.06.12 12:13

Eine Möglichkeit, es einfach zu lösen, ist DBase. Man legt eine Tabelle in Excel an und speichert sie als DBase-V ab. Dann hat man eine DBase-Tabelle, auf die man dann zugreifen kann. Wie gesagt, eine einfache Lösung.


jaenicke - Mo 04.06.12 12:41

Aber keine sinnvolle. ;-)

Ordentliche Datenbanken sind kaum schwerer zu benutzen, funktionieren aber deutlich besser. Und SQLite ist sogar genauso einfach.


Florian H. - Mi 06.06.12 14:50

Im Delphi Starter Ebook verwenden wir diesen SQLite Wrapper für Delphi [http://www.itwriting.com/blog/articles/a-simple-delphi-wrapper-for-sqlite-3?wpmp_tp=0]. Inwieweit die Handhabung mit der hier geposteten Lösung übereinstimmt weiß ich nicht.