AGB  ·  Datenschutz  ·  Impressum  







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

Daten speichern

Offene Frage von "Urba"
Ein Thema von Urba · begonnen am 9. Okt 2005 · letzter Beitrag vom 11. Okt 2005
 
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#9

Re: Daten speichern

  Alt 9. Okt 2005, 17:58
Hi,

ich würde dir eigentlich auch immer zu einem Stream raten. Die sind einfach mal recht schnell, auch wenn man das sicher auch mit anderen Mitteln hinbekommt. So richtig flink wird ein TMemoryStream wenn du auf sein Property Memory mittels Win-API zugreifst, aber (genug abgeschweift), ich glaube das ist wohl nicht wichtig.

Ja, jedenfalls kannst du so ziemlich alles was du in eine Datei schreiben möchtest auch als Array von Bytes interpretieren. Musst halt immer nur wissen wieviel Byte das hat was du als nächstes lesen möchtest.
Mit einem Datentypen TByteArray = Array of Byte kannst du dann beliebige Daten laden und entweder mittels shift und and wieder zusammensetzen oder halt die selbe Menge von Bytes in Teilen anders interpretieren (ist halt etwas casten angesagt).
An sich kann ich dir als Idee für ein eigenes Dateiformat nur dazu raten, dir mal die Tiff-Spezifikation an zu sehen. Kannst du ja für deine Zwecke entsprechend abwandeln, aber die Idee finde ich eigentlich super (sorry falls andere die auch oder vorher hatten, kenn sie erst seit Tiff).
Da gibt es einen fest header, der mit einem Offset auf sogenannte IFDs (ImageFileDirectorys) endet. Diese IFDs sind wirklich Einträge a la Inhaltsverzeichnis und bestehen immer aus einem Tag, der das Feld identifiziert (z.B. Höhe oder Breite), einem Tag der den Datentypen (String, Integer, Byte, ...) beinhaltet, die Anzahl von Elementen und zuletzt den Wert bzw. wenn größer als 32 Bit dann einen Offset zu der Position der Daten.
Klingt vielleicht etwas kompliziert und umständlich, aber so kannst du leicht flexibel bleiben und deine Datei erweitern. Grundregel ist halt, dass alles rein kann und du nur Felder auswerten brauchst, deren Identifizierung dir/deinem Reader schon bekannt ist.

Also für den eigentlichen Zugriff kann ich dir wie gesagt auch nur Streams empfehlen.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
 


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 16:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz