Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Programm-Daten Speichern, aber wie? (https://www.delphipraxis.net/160077-programm-daten-speichern-aber-wie.html)

Lifthrasir 26. Apr 2011 16:41

Programm-Daten Speichern, aber wie?
 
Hello again,

In verschiedenen Programmen oder Ideen von mir, werden oft einige Datenmengen erfasst, sei es nun Koordinaten, abgeschlossene Abläufe, ein Rechenergebnis oder ein Spielfigurenfortschritt.

Bei kleinen Mengen kann man ja alle Werte in ein Memo einlesen und dieses dann als Save1.txt oder bei besonderer Kreativität und Möchtegernschutz als Save1.Programmaehnlichklingendeendung, welche sich jedoch mit jedem Editor öffnen lässt, speichern.

Gibt es einen Weg verschiedene Attribute (was anderes sind doch Lines, Captions und Texts nicht, oder) der TKomponenten auf elegantere und vor allem zugrifsssichere Art und Weise zu speichern? Ich meine, das Problem setzt erst zu wenn dann noch ein Image mit ins Spiel kommt. Und um die hunderte Zeilen nun zu 'verschlüsseln' bin ich zu skeptisch.
Jmnd sagte mir mal ich solle alles in eine DLL quetschen, aber das kann doch unmöglich der richtige Weg sein, oder?

Danke für die Antworten und das Ernst nehmen meines Problemchens :)

patti 26. Apr 2011 17:03

AW: Programm-Daten Speichern, aber wie?
 
Naja, normalerweise verwendet man für sowas Streams, genauer gesagt FileStreams, wenn es um die Speicherung von Daten auf der Platte geht. In einen Daten-Stream lassen sich sequentiell Daten schreiben und wieder daraus auslesen. Die Einarbeitung in die Thematik mag am Anfang vielleicht etwas aufwändig erscheinen, aber es zahlt sich aus ;) Im Internet sollten sich einige gelungene Tutorials zur Verwendung von Streams finden lassen, vermutlich auch hier in der DP.

Aber das hat nichts mit Verschlüsselung oder "Sicherheit" zu tun, man kann die Daten aus einem Stream trotzdem lesen und auch verändern, wenn man auch etwas mehr Kenntnisse als die Bedienung eines Text-Editors haben sollte. Wenn du etwas sicher haben willst, dann wirst du wohl verschlüsseln müssen.

Und noch etwas:

Zitat:

Zitat von Lifthrasir (Beitrag 1097049)
Gibt es einen Weg verschiedene Attribute (was anderes sind doch Lines, Captions und Texts nicht, oder) der TKomponenten auf elegantere und vor allem zugrifsssichere Art und Weise zu speichern?

Das klingt sehr danach, dass du Daten und Ausgabe nicht voneinader trennst, so wie es sich eigentlich gehört. Die graphischen Komponenten sollten lediglich zur Ausgabe dienen - quasi als Schnittstelle zum Benutzer. Intern solltest du deine Daten jedoch anders verwalten. Wenn du Text hast, dann zum Beispiel in einer String-Variable usw.

mfg

Luckie 26. Apr 2011 17:07

AW: Programm-Daten Speichern, aber wie?
 
Wie wäre es mit dem XML-Format?

Lifthrasir 26. Apr 2011 17:09

AW: Programm-Daten Speichern, aber wie?
 
Streamem oder verschlüsseln..
Hmm, scheint auf jedenfall mit einem erweiterdem Arbeitsaufwand verbunden zu sein. Also gut, zuück an's Zeichenbrett ;)

Danke für deine Antwort soweit!

Zitat:

Zitat von patti (Beitrag 1097056)
Das klingt sehr danach, dass du Daten und Ausgabe nicht voneinader trennst, so wie es sich eigentlich gehört. Die graphischen Komponenten sollten lediglich zur Ausgabe dienen - quasi als Schnittstelle zum Benutzer. Intern solltest du deine Daten jedoch anders verwalten. Wenn du Text hast, dann zum Beispiel in einer String-Variable usw.

mfg

Um ehrlich zu sein Rechne ich weniger in globalen Variablen (das meinst du doch, oder?), als direkt in graphischen Komponenten, meist einfach um beim Programmtest mögliche Fehler zu erkennen. Bestimmt mache ich berühmte Anfänger-Fehler oder Dinge die man einfach nicht macht. Bitte nicht böse sein, ich bin da einfach unwissend.
Aber ist es für moderne Systeme nicht egal wenn das Programm durch eine unschöne Architektur oder einfach grobe Fehler schwerer wird?




Zitat:

Zitat von Luckie (Beitrag 1097058)
Wie wäre es mit dem XML-Format?

muss ich mich mal für belesen, Danke für den Hint

patti 26. Apr 2011 17:38

AW: Programm-Daten Speichern, aber wie?
 
Zitat:

Zitat von Luckie (Beitrag 1097058)
Wie wäre es mit dem XML-Format?

Wobei man dann halt wieder einfachen Text hat, den man einfach im Text-Editor öffnen kann (zugegeben, das wär jetzt kein KO-Kriterium).
XML ist sicher ne feine Sache, aber es kommt auch auf den Anwendungsfall an. XML erzeugt bei kleinen Daten m.M.n. zu großen Overhead und ist manchmal einfach nicht nötig. Zudem ist man halt immer auf einen Parser angewiesen, damit man die Daten wieder lesen kann.

Zitat:

Zitat von Lifthrasir (Beitrag 1097059)
Um ehrlich zu sein Rechne ich weniger in globalen Variablen (das meinst du doch, oder?), als direkt in graphischen Komponenten, meist einfach um beim Programmtest mögliche Fehler zu erkennen. Bestimmt mache ich berühmte Anfänger-Fehler oder Dinge die man einfach nicht macht. Bitte nicht böse sein, ich bin da einfach unwissend.
Aber ist es für moderne Systeme nicht egal wenn das Programm durch eine unschöne Architektur oder einfach grobe Fehler schwerer wird?

Niemand ist dir böse, aber es gehört einfach zum guten Programmierstil, dass man die Ausgabe klar von den Daten trennt ;) Gerade am Anfang neigt man dazu, alles durcheinander zu bringen, dadurch schleichen sich aber leichter Fehler ein und alles wird unnötig kompliziert. Es erscheint im ersten Moment einfacher und schneller, Daten und Ausgabe zu verknüpfen, aber gerade bei komplexeren Programmen wird es dann bald undurchschaubar. Nur so als Tipp am Rande ;)

mjustin 26. Apr 2011 18:24

AW: Programm-Daten Speichern, aber wie?
 
Zitat:

Zitat von Luckie (Beitrag 1097058)
Wie wäre es mit dem XML-Format?

Ja, das ist sehr praktisch - vor allem wenn man das Laden und Speichern nicht selber erledigen muss, sondern die Daten in TPersistent-Unterklassen hält. Die kann man mit OmniXml z.B. direkt lesen und schreiben, sozusagen ein Objektrelationaler Mapper für Einsteiger.

JSON ist ähnlich geeignet. Mit SuperObject ist auch hier das Laden und Speichern schnell umgesetzt, und es hat deutlich weniger spitze Klammern als XML.

Wer Erinnerungen an die gute alte Windows 3.0 Ära wecken will, kann auch INI Dateien verwenden.

s-off 26. Apr 2011 20:29

AW: Programm-Daten Speichern, aber wie?
 
Zitat:

Zitat von mjustin (Beitrag 1097090)
Wer Erinnerungen an die gute alte Windows 3.0 Ära wecken will, kann auch INI Dateien verwenden.

Das klingt recht abwertend... Desweiteren nenne mir mal die gängigen Möglichkeiten, (Konfigurations-)Daten unter Win98/ME komfortabel zu speichern / auszulesen, wenn Du Ini-Dateien und die Registry unberücksichtigt lässt.

Für Kleinigkeiten, wie bspw. Programmeinstellungen, sind Ini-Dateien noch immer sehr nützlich - und einfach!

Sir Rufo 26. Apr 2011 20:41

AW: Programm-Daten Speichern, aber wie?
 
Zitat:

Zitat von Lifthrasir (Beitrag 1097049)
Bei kleinen Mengen kann man ja alle Werte in ein Memo einlesen und dieses dann als Save1.txt oder bei besonderer Kreativität und Möchtegernschutz als Save1.Programmaehnlichklingendeendung, welche sich jedoch mit jedem Editor öffnen lässt, speichern.

:shock: meinst du tatsächlich die Komponente TMemo ... dann definitiv never ever!

Vernünftig wird es die Daten in eine Klasse zu packen und dieser Klasse das Speichern und Laden beizubringen.

Lifthrasir 26. Apr 2011 21:06

AW: Programm-Daten Speichern, aber wie?
 
Danke für die vielen Antworten..
Ich werde mich mal mit kleinen Demos durch die Lösungsvorschläge hangeln.

HolzFreak 27. Apr 2011 01:00

AW: Programm-Daten Speichern, aber wie?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo

Vielleicht hilft Euch der Delphimanager weiter.

Gruss

Holzfreak


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