ich muss Messwerte, die ich in einem Bytearray geliefert bekomme,
umsortieren (Big- Little- Endian) um anschliessend eine
Variable vom Type Single erhalte.
Habe das jetzt so gelöst (funktioniert auch), wollte aber fragen,
ob es eine einfachere und/oder schnellere Lösung dafür gibt.
Code: Alles auswählen
//---------------------------------------------------------
// Umwandlung ByteArray nach Single
//---------------------------------------------------------
function TDave.ByteToSingle(addr : ptrByte) : single;
type
Tbyte4 = array[0..3] of byte;
var
byTemp : Tbyte4;
siTemp : single absolute byTemp;
begin
byTemp[0] := (addr + 3) ^;
byTemp[1] := (addr + 2) ^;
byTemp[2] := (addr + 1) ^;
byTemp[3] := (addr + 0) ^;
siTemp := Single(byTemp);
ByteToSingle := siTemp;
end;