Hallo Pelzini,
herzlich willkommen in der Delphi-PRAXiS.
So etwa könnte es funktionieren:
Delphi-Quellcode:
function ConvertDouble(d: double): double;
var
pbIn, pbOut: PByte;
begin
pbIn := @d;
Inc(pbIn, SizeOf(double));
pbOut := @Result;
repeat
Dec(pbIn);
pbOut^:= pbIn^;
Inc(pbOut);
until pbIn = @d;
end;
Und so natürlich auch:
Delphi-Quellcode:
procedure SwapBytes(
var buffer; size: word);
var
b: byte;
pbIn, pbOut: PByte;
begin
pbIn := @buffer;
Inc(pbIn, size - 1);
pbOut := @buffer;
while Cardinal(pbIn) > Cardinal(pbOut)
do begin
b := pbOut^;
pbOut^:= pbIn^;
pbIn^ := b;
Dec(pbIn);
Inc(pbOut);
end;
end;
Grüße vom marabu