Thema: Delphi Real-Bytes vertauschen

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Real-Bytes vertauschen

  Alt 20. Sep 2005, 12:13
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
  Mit Zitat antworten Zitat