![]() |
Delphi-Version: 2006
record mit Word-Feldern ohne MSB/LSB Vertauschung aus Datei lesen
Moin Zusammen,
irgendwie steh' ich gerade auf dem Schlauch :? Ich möchte mit Hilfe von Records aus einer Binärdatei lesen. Die Records erhalten gemischt Byte, Word und DWORD Felder. Dummer Weise werden beim Einlesen aber die Bytes, z.B. von WORDS, vertauscht, so dass aus B0E1 in der Datei E1B0 im Record wird. Bislang ist mir nichts eingefallen, wie ich das Problem beheben kann, denn ich möchte, nach Möglichkeit, darauf verzichten nur Bytes zu lesen und ggf. die Werte selber zusammenzubauen. Ich habe es schon mit Varianten Records versucht, mit array of byte und der gewünschten Struktur als Variante, mit dem Lesen eines array of byte, dass ich mit Copy, Move, CopyMemory übertragen habe, aber auch mit absolute auf einer Variablen, die als Lesebuffer dienen soll. Immer das gleiche Ergebnis. Hat irgendjemand eine Idee, wie ich das anstellen kann? Vielen Dank im Voraus. |
AW: record mit Word-Feldern ohne MSB/LSB Vertauschung aus Datei lesen
Moin Chris,
so ganz kann ich es nicht verstehen, denn dann werden sie ja vermutlich anders in die Datei geschrieben als du liest :gruebel: Eventuell hilft dir ja die funktion ![]() |
AW: record mit Word-Feldern ohne MSB/LSB Vertauschung aus Datei lesen
Die Datei schein von einem
![]() Zitat:
![]() Wenn die Dateien wirklich von einem Big Endian kommen, ist die Welt in Ordnung, dein 'Problem' also 'as designed'. Lies die Daten ein und vertausche die Bytes.
Delphi-Quellcode:
MyRecord.Read(myStream);
MyRecord.Word1 := WordSwap(MyRecord.Word1); MyRecord.Word2 := WordSwap(MyRecord.Word2); MyRecord.DWord1 := DWordSwap(MyRecord.DWord1); ... |
AW: record mit Word-Feldern ohne MSB/LSB Vertauschung aus Datei lesen
Zitat:
Besonders nett sind die, die beide Formate verwenden. @Christian Ich denke es geht kein Weg am swapping vorbei. Gruß K-H |
AW: record mit Word-Feldern ohne MSB/LSB Vertauschung aus Datei lesen
Moin Zusammen,
vielen Dank für die Rege Beteiligung. Ich hatte gehofft irgendeine Konfigurationsmöglichkeit übersehen zu haben, die mir das Swapping erspart. Na gut, dann eben nicht :wink: Dann muss ich mal testen, was effinzienter ist. Bytes lesen und anschliessend auf passende Variablen verteilen und gleich die richtigen Strukturen lesen und anschliessend die Bytes vertauschen. Zitat:
|
AW: record mit Word-Feldern ohne MSB/LSB Vertauschung aus Datei lesen
Hatte nicht himitsu für sein himXML was gebastelt, um records automatisch zu (de)serialisieren? Vielleicht kannst du das abwandeln.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:15 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