Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Aha Momente (https://www.delphipraxis.net/211519-aha-momente.html)

Neutral General 29. Sep 2022 12:21

AW: Aha Momente
 
Zitat:

Zitat von Dennis07 (Beitrag 1512678)
Zitat:

Zitat von jaenicke (Beitrag 1512613)
Das erinnert mich an das alte "file of" Konstrukt. Mit beliebigen generischen Typen würde das allerdings nicht funktionieren.

Die Idee verstehe ich durchaus, aber ich sehe keine Möglichkeit einer Umsetzung. Im Grunde wäre die Anforderung quasi ein ORM auf Streambasis...

Naja sowas gibt es ja u.a. in Sprachen wie Java. Wäre sicher auch in Delphi irgendwie möglich, oder nicht?

Ich bezweifle stark, dass es sowas in Java gibt. Nach JSON serialisieren - ja. Aber generisches binäres Speichern von Objekten kann ich mir nicht vorstellen.
Ich meine man könnte vllt. mit Reflection/RTTI was machen, aber ob da am Ende das rauskommt was man gerne hätte ist fraglich.

jaenicke 29. Sep 2022 12:49

AW: Aha Momente
 
Zitat:

Zitat von Dennis07 (Beitrag 1512678)
Naja sowas gibt es ja u.a. in Sprachen wie Java. Wäre sicher auch in Delphi irgendwie möglich, oder nicht?

Den Stream<T>, den es in Java gibt, kann man auch in Delphi umsetzen, ja, wenn auch nicht mit inline LINQ, allerdings hat das nichts mit den Streams zu tun, wie es sie in der Delphi-Welt gibt...

himitsu 29. Sep 2022 12:57

AW: Aha Momente
 
Gehen täte es schon, aber nicht "generell" für "alle" Datentypen.

Zitat:

LINQ
ginge auch, über OleVariants, nur da fehlt dann im Delphi wiederum die Codevervollständigung .... aber egal ... die funktioniert ja eh nie :stupid:

DataCool 29. Sep 2022 12:59

AW: Aha Momente
 
Hallo zusammen,

recht interessant finde ich in dem Zusammenhang:

Binary Json

Bson spec

Gretes Data

himitsu 29. Sep 2022 13:09

AW: Aha Momente
 
BJSON/BSON ist technisch schon ein bissl wie die DFM im Delphi

Ein Byte für den Typ und dann die Daten, also in den Daten steht drinne, wie man sie interpretiert.

Zitat:

Zitat von himitsu (Beitrag 1512617)
Binäre Daten sind eh bissl blöd.
Wenn, dann vielleicht ein ORM um TReader/TWriter (zwar auch binär, aber inkl. Formatierungdaten und optional auch als Text-Version)

Aber dann vielleicht eher in Richtung BSON (binäres JSON) oder CompressedXML,
wobei man TReader (das was die DFMs im Delphi nutzen) auch als typsicherere Variante des JSON/BSON ansehen könnte.


dummzeuch 29. Sep 2022 13:25

AW: Aha Momente
 
Im Buch "Algorithms and Data Structures" (von 2001, zweite Auflage von 2006) beschreibt Julian Bucknall ein sich selbst dokumentierendes Dateiformat. Das ist ein File of Records, welches zusätzlich einen Header enthält, der den Record beschreibt. Wenn man die Struktur dieses Headers kennt, kann man einen generischen Reader dafür schreiben (und theoretisch auch einen Editor)

In der Firma benutzen wir ein auf dieser Idee basierendes Dateiformat, welches noch zusätzliche Angaben zur Datei und außerdem eine Prüfsumme im Header enthält. Das ist extrem praktisch, da unser Reader dafür beliebige unserer Datendateien anzeigen und auch grafisch darstellen kann.

Hauptvorteil: Durch binäres Format deutlich kleinere Dateien als in irgendwelchen Textformaten.

himitsu 29. Sep 2022 13:30

AW: Aha Momente
 
Jo, kleiner, aber vorallem auch schneller/einfacher zu lesen, weil man nichts erst parsen muß, bzw. auch Fehlerunanfälliger (besonders, wenn auch noch inkl. Prüfsumme).

Binäre-DFM, BSON, CompressedXML, ...
Text-DFM, JSON, XML, ...

jaenicke 29. Sep 2022 13:31

AW: Aha Momente
 
Zitat:

Zitat von dummzeuch (Beitrag 1512685)
Im Buch "Algorithms and Data Structures" (von 2001, zweite Auflage von 2006) beschreibt Julian Bucknall ein sich selbst dokumentierendes Dateiformat. Das ist ein File of Records, welches zusätzlich einen Header enthält, der den Record beschreibt. Wenn man die Struktur dieses Headers kennt, kann man einen generischen Reader dafür schreiben (und theoretisch auch einen Editor)

DBase? :-D

Ja, ich habe so etwas auch schon selbst geschrieben, aber damals kannte ich Datenbanken, z.B. eben auch einfache dateibasierte Datenbanken, noch nicht. Die machen ja genau das, was du dort beschrieben hast (ja, ohne Unterstrukturen, ich weiß). Und darauf aufsetzende ORMs können dann auch damit arbeiten.

Uwe Raabe 29. Sep 2022 13:47

AW: Aha Momente
 
Zitat:

Zitat von jaenicke (Beitrag 1512687)
DBase? :-D

War auch mein erster Gedanke :)

dummzeuch 29. Sep 2022 15:18

AW: Aha Momente
 
Zitat:

Zitat von jaenicke (Beitrag 1512687)
Zitat:

Zitat von dummzeuch (Beitrag 1512685)
Im Buch "Algorithms and Data Structures" (von 2001, zweite Auflage von 2006) beschreibt Julian Bucknall ein sich selbst dokumentierendes Dateiformat. Das ist ein File of Records, welches zusätzlich einen Header enthält, der den Record beschreibt. Wenn man die Struktur dieses Headers kennt, kann man einen generischen Reader dafür schreiben (und theoretisch auch einen Editor)

DBase? :-D

Ja, ich habe so etwas auch schon selbst geschrieben, aber damals kannte ich Datenbanken, z.B. eben auch einfache dateibasierte Datenbanken, noch nicht. Die machen ja genau das, was du dort beschrieben hast (ja, ohne Unterstrukturen, ich weiß). Und darauf aufsetzende ORMs können dann auch damit arbeiten.

DBase ist beim Schreiben um ein Vielfaches langsamer als dieses Format, das habe ich längst durchexerziert. Und auf diese Geschwindigkeit kommt es bei der Anwendung an. Beim Lesen ist es auch schneller, aber das wäre nicht so kritisch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:22 Uhr.
Seite 2 von 5     12 34     Letzte »    

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