Forum: Sonstige Fragen zu Delphi
Delphi
by Christian Seehase,
28. Mai 2003
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...
Forum: Sonstige Fragen zu Delphi
Delphi
by Christian Seehase,
28. Mai 2003
Moin Sebastian,
die Bestandteile des Arrays sind je 8 Bit gross, und sollen in eine 32 Bit grosse Variable.
Dazu muss dann nur das jeweilige Byte an die richtige Stelle geschoben werden, z.B. so:
dwResult := byte(acBuf) or (byte(acBuf) shl 8) or (byte(acBuf) shl 16) or (byte(acBuf) shl 24);
je nachdem, wie Du es haben willst, müssen die Indizes eventuell vertauscht werden.
Ist zwar...