(Co-Admin)
Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
Delphi 11 Alexandria
|
28. Mai 2003, 18:51
Moin Sebastian,
wie Du aus meinem Beispiel entnehmen kannst verschiebe ich die Bytes mit zunehmender Position im Array immer um ein weiteres Byte nach links (shl 8, shl 16, shl 24), da bei Intel üblich die Bytes in umgekehrter Reihenfolge gespeichert werden.
Wenn es sich bei den vier Byte tatsächlich um ein Cardinal handelt, wäre die Ausgabe 1108344832 absolut korrekt ($42100000 gespeichert als 00001042). Sollten es hingegegen um zwei WORDs handeln, hätte das eine den Wert 0, das andere 16912.
Ich weiss ja nicht, woher Deine Daten stammen, ich les' Dateien immer gerne in einen String ein, oder, falls ich die Dateistruktur kenne, ein einen (oder mehrere) passend deklarierte Records.
(jeweils mit Hilfe von TFileStream).
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
|