In XE3 there are record helpers for simple types, TDoubleHelper
.
This works:
var
d : Double;
i : Integer;
begin
d := 100.0;
for i := 0 to 7 do
WriteLn(d.Bytes[i]);
end;
In XE2 there is a declaration TDoubleRec
, which is an advanced record.
example:
var
dRec : TDoubleRec;
i : Integer;
begin
dRec := 100.0;
for i := 0 to 7 do
WriteLn(dRec.Bytes[i]);
end;
Another common option to access the bytes of a double is to use a typecast
:
type
TDoubleAsByteArr = array[0..7] of byte;
var
d : Double;
i : Integer;
begin
d := 100.0;
for i := 0 to 7 do
WriteLn(TDoubleAsByteArr(d)[i]);
end;