AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Aha Momente

Ein Thema von himitsu · begonnen am 28. Sep 2022 · letzter Beitrag vom 31. Mär 2023
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

AW: Aha Momente

  Alt 29. Sep 2022, 13:21
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.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.584 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Aha Momente

  Alt 29. Sep 2022, 13:49
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...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.067 Beiträge
 
Delphi 12 Athens
 
#13

AW: Aha Momente

  Alt 29. Sep 2022, 13:57
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
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#14

AW: Aha Momente

  Alt 29. Sep 2022, 13:59
Hallo zusammen,

recht interessant finde ich in dem Zusammenhang:

Binary Json

Bson spec

Gretes Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.067 Beiträge
 
Delphi 12 Athens
 
#15

AW: Aha Momente

  Alt 29. Sep 2022, 14:09
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.

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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.605 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#16

AW: Aha Momente

  Alt 29. Sep 2022, 14:25
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.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.067 Beiträge
 
Delphi 12 Athens
 
#17

AW: Aha Momente

  Alt 29. Sep 2022, 14:30
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, ...
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.584 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Aha Momente

  Alt 29. Sep 2022, 14:31
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?

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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#19

AW: Aha Momente

  Alt 29. Sep 2022, 14:47
War auch mein erster Gedanke
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.605 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#20

AW: Aha Momente

  Alt 29. Sep 2022, 16:18
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?

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.
Thomas Mueller
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 Uhr.
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