Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Kann man einen Record in einem String speichern? (https://www.delphipraxis.net/209150-kann-man-einen-record-einem-string-speichern.html)

Sinspin 4. Nov 2021 12:42

AW: Kann man einen Record in einem String speichern?
 
Zitat:

Zitat von QuickAndDirty (Beitrag 1497052)
:(
Aber das ist doch sooo meta.

Das dachte ich mir auch lange Zeit. Alles kurz und knapp in records gepackt und in Dateien geschrieben oder durch die Gegend kopiert.
Mittlerweile verschicke ich so oft Daten über Netzwerk oder Pipes das ich ohne irgend einen standartisierten Container verzweifeln würde.
JSON ist nicht ganz meins. Ich verwende eine Komponente die auf eine Memtable aufsetzt.
Die Komponente kann man als Zeiger anhängen oder übergeben. Strings oder Dynarray verwende ich zum Transport, erzeugen und intepretieren macht die Komponente selber. Klappt wunderbar.

Rollo62 4. Nov 2021 16:03

AW: Kann man einen Record in einem String speichern?
 
Zitat:

Zitat von Sinspin (Beitrag 1497070)
JSON ist nicht ganz meins.

Ja OK, es hat aber den Vorteil das es die ganze Welt draussen verstehen kann.
Ist ein einfacher String, kann alles Mögliche packen, und ist dabei relativ flott.

Für alle einigermaßen normalen Anwendungsfälle würde ich das schon als erste Wahl in Betracht ziehen,
oder man baut sich halt was Eigenes was hier und da mal klemmt und womöglich nur einen Bruchteil der Möglichkeiten hat.

Und für die Binärfans gibt es ja noch BSON :-)

himitsu 4. Nov 2021 17:24

AW: Kann man einen Record in einem String speichern?
 
Auch XML gibt es in binär oder zumindestens "komprimiert" (gleiche "Wörter", wie z.B. Namen der Nodes und Attribute werden zusammengefasst) ... hat sich nur nicht so richtig durchgesetzt ... ist halt nicht menschenlesbar.

KodeZwerg 4. Nov 2021 20:00

AW: Kann man einen Record in einem String speichern?
 
Etwas weit hergeholt aber vielleicht dennoch brauchbar? (da ich gerade nicht genau weiß wo du da was wie verdrahten wolltest)

Dein Record/Object im Speicher komprimieren (per ZLib als Beispiel), diesen Stream per Base64 in einen String wandeln, an dein ListItem ranheften, bei abruf auf umgekehrten weg zurück.

Rollo62 5. Nov 2021 06:47

AW: Kann man einen Record in einem String speichern?
 
Zitat:

Zitat von himitsu (Beitrag 1497109)
Auch XML gibt es in binär oder zumindestens "komprimiert" (gleiche "Wörter", wie z.B. Namen der Nodes und Attribute werden zusammengefasst) ... hat sich nur nicht so richtig durchgesetzt ... ist halt nicht menschenlesbar.

Ja richtig, JSON hat XML meiner Meinung nach abgelöst, weil es das Gleiche kann, aber kleiner und besser lesbarer ist.
Vielleicht gibt es eine Erhebung wieviel JSON/XML genutzt wird.
Ich vermute insbesondere im Web gibt es fast 95% JSON zum Datenaustausch, und kaum XML,
nur auf Desktop wird XML wohl noch öfters benutzt, auch als Dokumentenformate.

himitsu 5. Nov 2021 08:28

AW: Kann man einen Record in einem String speichern?
 
Das Gleiche nicht ganz.
XML kann man anders verschachteln, z.B. Attribute und SubNodes zusammen im Node.
Und dadurch, dass vieles Doppelt vorkommt (schließender Node), ist hier die Fehlerbereinigung etwas einfacher möglich.
(nja, wie an den Heuristiken für HTML vs. XHTML in vielen Browsern geht's so lala)

Es gibt auch JSON-artig verschachteltes INI-artiges (INI selber hat ja praktisch keine Standards),
welche für manuelle Änderungen einfacher sind,
nur mit dem Nachteil, wie in Python, also die Gruppen haben kein Ende, allerdings wird mit unsichtbaren Zeichen (Einzückung) gearbeitet,
aber dafür raucht nicht gleich alles komplett ab, wenn in einer/mehreren Zeile(n) ein Syntaxfehler*innen steckt.



Wenn es nur um die Größe ginge (OK, ein gzip/ZLib drüber macht auch alles nochmal kleiner),
dann dürfte das binäre XML womöglich kleiner sein, als BSON.

Rollo62 5. Nov 2021 08:54

AW: Kann man einen Record in einem String speichern?
 
Zitat:

Zitat von himitsu (Beitrag 1497133)
Das Gleiche nicht ganz.

Ja sicher, Du weisst schon was ich meine :stupid:
XML wird gerne bei .docx und Adobe benutzt, aber das ist dann schon mehr als nur ein einfacher Datenaustausch.

Ich sehe JSON mittlerweile als Default-Austauschformat for "normale" Zwecke,
so wie früher die INI-Datei.

Frickler 5. Nov 2021 12:06

AW: Kann man einen Record in einem String speichern?
 
XML kann über Schema automatisiert validiert werden. Die nötigen Programme sind seit vielen Jahren standardisiert. Und sowas wie XSLT und XSL-FO fehlt auch unter JSON. man ist zwar dabei, das hier und da nachzurüsten, hat damit aber keine Eile. Denn JSON ist ein Format für Datenübertragung, nicht so sehr für Dateien.

Hingegen sehe ich als "Nachfolger" der INI Datei heute eher SQLite.

Rollo62 5. Nov 2021 14:54

AW: Kann man einen Record in einem String speichern?
 
Zitat:

Zitat von Frickler (Beitrag 1497147)
Hingegen sehe ich als "Nachfolger" der INI Datei heute eher SQLite.

:thumb:

himitsu 5. Nov 2021 16:40

AW: Kann man einen Record in einem String speichern?
 
So lange das Ding dann nicht auch mal schnell ohne Hilfsmittel per Hand bearbeitet werden soll. :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:36 Uhr.
Seite 2 von 3     12 3      

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