AGB  ·  Datenschutz  ·  Impressum  







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

"Gemischte Daten" abspeichern

Ein Thema von sko1 · begonnen am 16. Okt 2017 · letzter Beitrag vom 17. Okt 2017
Antwort Antwort
Seite 1 von 2  1 2      
sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

"Gemischte Daten" abspeichern

  Alt 16. Okt 2017, 10:16
Hallo,

irgendwie stehe ich auf dem Schlauch:

Ich muss ein Wirrwarr an verschiedensten Informationen in eine Datei speichern Zahlen, Strings, Bilder (liegen als Stream vor) usw.

Den Ansatz, XML zu verwenden und die Streams umzukonvertieren, habe ich verworfen (bläst die Bilder auf).

Hat jemand bitte einen Denkanstoß für mich?

Ciao
Stefan
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: "Gemischte Daten" abspeichern

  Alt 16. Okt 2017, 10:20
Wie wäre es mit BSON?
http://docwiki.embarcadero.com/RADStudio/Berlin/de/BSON
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: "Gemischte Daten" abspeichern

  Alt 16. Okt 2017, 10:31
Oder die Streams vorher komprimieren?
http://www.swissdelphicenter.com/de/showcode.php?id=822
https://stackoverflow.com/questions/...ess-decompress
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

AW: "Gemischte Daten" abspeichern

  Alt 16. Okt 2017, 10:38
'ne Datenbank (Access, Embedded FireBird ...)

Und darin eine Tabelle in der Form:
  1. ID - AutoInc - als technischer Schlüssel
  2. Beschreibung - String/Varchar(100) - verbale Beschreibung
  3. Type - Integer - zur Typunterscheidung des folgenden Inhalts, eventuell ein Aufzählungstyp.
  4. Wert - Blob - der Inhalt der Information
Damit könntest Du dann in der Blobspalte beliebige Inhalte ablegen, über den Typ wird entschieden, wie der Inhalt auszulesen ist.

Damit können Texte, Bilder, Zahlen, Dateien ... in einer Tabelle abgelegt werden, ohne dass für jeden "Sonderfall" eine besondere Tabelle oder sonstige Ablageform erforderlich wird.

Eine komprimierte Ablage im Blob wäre für Dateien, Texte, Bilder ... zusätzlich möglich.
  Mit Zitat antworten Zitat
sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: "Gemischte Daten" abspeichern

  Alt 16. Okt 2017, 10:46
Vielen Dank für die schnelle Hilfe!

BSON klingt nach erstem Anschauen sehe sehr interessant!
Da werde ich mal weiter forschen, Datenbank scheidet aus, es sollen "Einzeldateien" entstehen

Die Streams komprimieren wäre auch ein Ansatz, dann könnte ich ja aber gleich die fertige Datei als Ganzes komprimieren...

Ich habe jetzt erst mal genügend Ansätze zum Testen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: "Gemischte Daten" abspeichern

  Alt 16. Okt 2017, 11:59
Es gibt auch von XML eine komprimierte "binäre" Version.

Und unkomprimiert, als Base64, sind Binärdaten auch nur 33% größer. (ohne Komprimierung lässt sich sowas auch locker auf annähernd 15% bekommen, wenn man mehr als 64 der ersten 128 Zeichen verwendet)
Also eigentlich fällt es kaum auf, bei den Exabyte, die wir sonst so rumliegen haben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (16. Okt 2017 um 12:04 Uhr)
  Mit Zitat antworten Zitat
hhcm

Registriert seit: 12. Feb 2006
Ort: Wegberg
309 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: "Gemischte Daten" abspeichern

  Alt 16. Okt 2017, 12:02
Access oder SQLite wären Einzeldateien. Gibts noch andere gründe keine DB zu verwenden ?
Chris
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#8

AW: "Gemischte Daten" abspeichern

  Alt 16. Okt 2017, 12:12
Unter Einzeldatei würd' ich in dem Zusammenhang verstehen:

eine Information -> eine Datei

Man müsste etwas genauer wissen, was für Informationen zu welchem Zweck hier verwaltet werden sollen, dann kann man sinnvoll über Alternative Speichermöglichkeiten nachdenken.

So ist's etwas dürftig.

Gegen eine Datenbank spricht nur:

Man müsste ggfls. das konzeptionelle Vorgehen der bisherigen Lösungsansätze überdenken

Geändert von nahpets (16. Okt 2017 um 13:40 Uhr)
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#9

AW: "Gemischte Daten" abspeichern

  Alt 16. Okt 2017, 12:54
mein Ansatz für "mehrere Infos pro Datensatz" gleich "eine Datei":

Ich verwende da eine normale Archivdatei als Container (meist 7z oder zip)... da sind alle Streams und Infos als Dateien drin, und künnen sogar mit Standardprogrammen geöffnet werden. Das geht mit benannten ".txt",".csv"...".xyz" Streams auch völlig im RAM ohne zusätzliche "TempFiles".
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#10

AW: "Gemischte Daten" abspeichern

  Alt 16. Okt 2017, 13:17
Bedeutet kurz und knapp:

Aus meinem Ansatz mit Datenbank und Datensatz wird aus jedem Datensatz eine Datei. Der "Rest" kann letztlich in ähnlichem Zusammenhang in jeder Datei (= jedem Container) abgelegt werden.

Ist auch eine Möglichkeit.

Jede Datei enthält dann z. B. eine Textdatei mit den Infos aus Beschreibung und Type und zusätzlich die gepackte eigentliche Information.

Das kann man insgesamt im Programm dann fast wie eine Datenbank händeln.

Passende Klasse bauen und es wird für den Anwender recht transparent, kann in 'nem Tree, ListView, Stringgrid ... übersichtlich angezeigt und verwaltet werden ...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:35 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