Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
12. Feb 2009
Gut, dann halt extra für dich noch 'ne Swap-Variante und für Dax einen schönen Funktionsnamen :angel2:
Procedure ChangeByteorder(Var S: WideString); Overload;
Var i: Integer;
Begin
For i := 1 to Length(S) do
S := WideChar(Swap(Word(S)));
End;
Procedure ChangeByteorder(Var S: UnicodeString); Overload;
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
12. Feb 2009
Gt, dann halt extra für sich noch 'ne Variante und für Dax einen schönen Funktionsnamen :angel2:
Procedure ChangeByteorder(Var S: WideString); Overload;
Var i: Integer;
Begin
For i := 1 to Length(S) do
S := WideChar(Swap(Word(S)));
End;
Procedure ChangeByteorder(Var S: UnicodeString); Overload;
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
12. Feb 2009
:wall: stümmt, so geht's :stupid: ,
dann noch ein paar kleine Fehler bei UniqueStringU-Parametern berichtigt
und schon sieht's schön aus :angel:
(neuer Code siehe oben)
jo, und für alle, welche auf PWideChar oder Array's stehen, hab ich noch je eine Version mit 'nem Pointer drangehängt :angel2:
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
12. Feb 2009
ups, grad nochmal nachgeguckt ... bei Word hab ich des auch nicht verwendet (vermutlich scheint es dann doch nicht zu gehn) :oops:
für LongWord (BSWAP EAX) ginge aber :angel2:
nja gut, XCHG AH, AL sollte auch gut genug funktionieren :angel:
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
20. Jan 2008
nein ist es nicht:
bei (P)Word steht zuerst das Low-Byte (halt BigEndian)
W := (Word(S)) shl 8) or Byte(S);
// oder
W := ByteSwap(PWord(@S))