AGB  ·  Datenschutz  ·  Impressum  







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

Rohdaten speichern - womit?

Ein Thema von moelski · begonnen am 28. Sep 2010 · letzter Beitrag vom 28. Sep 2010
Antwort Antwort
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

Rohdaten speichern - womit?

  Alt 28. Sep 2010, 15:09
Delphi-Version: 2010
Moin !

Ich habe ja hier schonmal gefragt ob es eine Stringliste gibt mit Spalten gibt. Dazu habe ich mal ein paar Tests gemacht und ich glaube eine Stringliste ist in Summe eher ungeeignet um Rohdaten zu speichern.

Vielleicht mal kurz vorweg was ich unter Rohdaten verstehe ...
Im Grunde möchte ich Daten von einem seriellen Port oder von einem USB HID Interface abspeichern. Da dort aber alle möglichen Zeichen kommen können ist eine Stringliste nicht so wirklich gut geeignet. Denn bei <CR> / <LF> bekommt man zusätzliche Zeilen.

Ich habe nun schon mal versucht die Daten in einer Datenbank zu speichern und zwar mit AbsoluteDB. Das klappt zwar, aber hat einen entscheidenden Nachteil. Ich muss dem Stringfeld eine feste Größe geben. Gerade bei Daten mit nicht festgelegter Länge ist das auf Dauer kontraproduktiv. Da verballert man ganz schnell ne Menge an Platz.

Im Moment bin ich am überlegen eine Klasse abgeleitet von TMemoryStream zu schreiben die mir direkt Funktionen zum Anhängen von z.B. Strings bietet sowei dessen auslesen.

Ich frage mich aber doch ob Delphi nicht schon irgendetwas fertig bietet um Binärdaten zu handhaben.
Wichtig wäre allerdings das man die Daten auf in einer Datei bzw. einen Stream speichern können sollte (und natürlich wieder davon auslesen).

Hat jemand eine Idee ?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010

Geändert von moelski (28. Sep 2010 um 15:12 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Rohdaten speichern - womit?

  Alt 28. Sep 2010, 15:13
Binäre Daten speichert man in einer Datenbank in einem Blob.
In Delphi nimmt man dafür am besten TStream

Das schreiben und lesen eines Blob-Feldes geht auch über einen Stream und schon sind wir alle zuhause.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Rohdaten speichern - womit?

  Alt 28. Sep 2010, 15:23
Ein Blob ...
Da is was dran

Na da werde ich doch gleich mal einen Test machen.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Rohdaten speichern - womit?

  Alt 28. Sep 2010, 15:26
Ansonsten mußt du es eben mit Längenangabe speichern und beim Auslesen die Längenangabe benutzen, anstatt die Text-üblichen Zeilentrenner.

Oder man legt es z.B. Bas64-kodiert ab, dann klappt es wieder mit der Stringliste.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:51 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