Verwalten von Stringdaten

Für Fragen von Einsteigern und Programmieranfängern...

Verwalten von Stringdaten

Beitragvon Hartkern » 4. Okt 2017, 18:11 Verwalten von Stringdaten

Hallo,

ich suche nach einer Möglichkeit, Daten eines Objektes zu speichern.

Aktuell besitzt mein Objekt "Zutaten" 5 Eigenschaften die ich als String speichere. Ich vermute das es irgendwann zig Zutaten werden..

Daher grübel ich gerade wie ich die Objekte "Zutat" speichere..

Mir schwebt vor entweder als lowbudget Lösung alle in eine Stringlist zu packen oder, jedes Objekt einzeln als Stringlist in eine Datei zu speichern.
Man muss Zutaten löschen, ändern oder neue Zutaten kreieren können.

Datenbank wäre vermutlich nen effektiver Ansatz, aber das übersteigt meinen Horizont.

gruß Klausi
Hartkern
 
Beiträge: 68
Registriert: 5. Dez 2015, 20:03
Wohnort: Leipzig
OS, Lazarus, FPC: Win10 IDE 1.6 | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 4. Okt 2017, 18:47 Re: Verwalten von Stringdaten

Das ganze als Ini-Datei abzuspeichern wäre ein Lösung.
Dazu gibt es die fertige Klasse TIniFile in der Unit IniFiles.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3249
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon m.fuchs » 4. Okt 2017, 19:13 Re: Verwalten von Stringdaten

INI-File ist doch eher unbequem. Man müsste für jedes Objekt eine eigene Datei anlegen.

Eine Möglichkeit wäre zum Beispiel die Objekte im JSON-Format zu speichern. Hier ganz gut beschrieben: http://wiki.freepascal.org/Streaming_JSON/de

Datenbank ginge auch, mit Sqlite ist das gar nicht so schwer, ich mache mal schamlos Werbung für einen einfachen Object-Mapper: https://www.ypa-software.de/pages/de/li ... sqlite.php
Wenn du dazu Fragen hast, können wir bestimmt ganz fix ein Beispiel mit deinen Objekten anfertigen.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
m.fuchs
 
Beiträge: 1687
Registriert: 22. Sep 2006, 18:32
Wohnort: Berlin
OS, Lazarus, FPC: Winux (L 1.6, FPC 3.0) | 
CPU-Target: x86, x64, arm
Nach oben

Beitragvon Timm Thaler » 4. Okt 2017, 20:50 Re: Verwalten von Stringdaten

Hartkern hat geschrieben:Man muss Zutaten löschen, ändern oder neue Zutaten kreieren können.


XML ist Dein Freund.

Übersichtlich auch im Texteditor, leicht zu erweitern und es gibt fertige Libs zum Auslesen und Bearbeiten der Daten.

Wenn die Strings in utf-8 vorliegen, nimm gleich die laz2_DOM, laz2_XMLRead... Libs.
Timm Thaler
 
Beiträge: 439
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.6 FPC3.0.0, Raspbian Jessie Laz1.6 FPC3.0.0 | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon m.fuchs » 4. Okt 2017, 21:02 Re: Verwalten von Stringdaten

Timm Thaler hat geschrieben:XML ist Dein Freund.

Könntest du noch spezifizieren, warum du aus den Anforderungen des OP zu der Empfehlung XML kommst?
Es soll ja nur eine Liste mit Objekten gleichen Typs gespeichert werden, deren Daten nur aus Strings bestehen. Das rechtfertigt die Komplexität von XML nun wirklich nicht.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
m.fuchs
 
Beiträge: 1687
Registriert: 22. Sep 2006, 18:32
Wohnort: Berlin
OS, Lazarus, FPC: Winux (L 1.6, FPC 3.0) | 
CPU-Target: x86, x64, arm
Nach oben

Beitragvon Timm Thaler » 4. Okt 2017, 21:44 Re: Verwalten von Stringdaten

m.fuchs hat geschrieben:Es soll ja nur eine Liste mit Objekten gleichen Typs gespeichert werden, deren Daten nur aus Strings bestehen. Das rechtfertigt die Komplexität von XML nun wirklich nicht.


JSON ist letztlich das Gleiche, nur in etwas anderer Syntax. Und ob ich da einen JSON oder einen XML Parser drauf loslasse kommt aufs Gleiche raus.
Timm Thaler
 
Beiträge: 439
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.6 FPC3.0.0, Raspbian Jessie Laz1.6 FPC3.0.0 | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon m.fuchs » 4. Okt 2017, 21:54 Re: Verwalten von Stringdaten

Timm Thaler hat geschrieben:JSON ist letztlich das Gleiche, nur in etwas anderer Syntax. Und ob ich da einen JSON oder einen XML Parser drauf loslasse kommt aufs Gleiche raus.

Naja, ein paar größere Unterschiede gibt es da schon noch. Die Attribute beispielsweise, die bessere Lesbarkeit, geringerer Overhead, etc. (https://de.wikipedia.org/wiki/JavaScrip ... ied_zu_XML)

Leichter zu lesen wäre nur noch YAML, aber dazu kenne ich keine fertige Bibliothek für FPC.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
m.fuchs
 
Beiträge: 1687
Registriert: 22. Sep 2006, 18:32
Wohnort: Berlin
OS, Lazarus, FPC: Winux (L 1.6, FPC 3.0) | 
CPU-Target: x86, x64, arm
Nach oben

Beitragvon Timm Thaler » 4. Okt 2017, 22:25 Re: Verwalten von Stringdaten

Ich sach mal, um den Overhead mach ich mir vielleicht bei Übertragung von Messdaten per Funkstecke Gedanken, aber nicht beim Abspeichern in einer Datei. Das war früher mal.

XML hat den Vorteil, dass es einfach erweiterbar ist. Wenn also der Bedarf aufkommt, zusätzlich zu den Zutaten noch den Namen, das Erstelldatum... oder zu jeder Zutat noch eine Menge speichern zu wollen ist das einfach implementierbar. Aber ja, man kann das auch in JSON machen.
Timm Thaler
 
Beiträge: 439
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.6 FPC3.0.0, Raspbian Jessie Laz1.6 FPC3.0.0 | 
CPU-Target: Raspberry Pi 3
Nach oben

• Themenende •

Zurück zu Einsteigerfragen



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried