Ich habe die nächste Funktion in C# und ich muss zu Delphi konvertieren. C# hat BitConverter, um es einfach zu machen, aber ich weiß nicht, wie man in Delphi vorgeht.Verschieben von C# -Funktion nach Delphi
/// Reads a 4-byte floating point value from the current stream
public override float ReadSingle(float sg)
{
byte[] temp = BitConverter.GetBytes(sg);
Array.Reverse(temp);
float returnVal = BitConverter.ToSingle(temp, 0);
return returnVal;
}
ich getan habe:
procedure ReverseBytes(Source, Dest: Pointer; Size: Integer);
var
Index: Integer;
begin
for Index := 0 to Size - 1 do
Move(Pointer(LongInt(Source) + Index)^,
Pointer(LongInt(Dest) + (Size - Index - 1))^ , 1);
end;
function GetBytes(sg:single):Tbytes;
begin
result:=??????
end;
function ReadSingle(sg:single):single;
var dest,temp:Tbytes;
begin
temp := GetBytes(sg); //How todo ???
ReverseBytes(temp,dest,length(temp));
result:=dest;
end;
versuchen Sie es hier - http://lingua.codegear.com/babelcode/ – MethodMan
@MethodMan Vielen Dank, aber ich bekomme einen Fehler beim Zugriff auf diese Website. Vielleicht mein Internetanbieter? –
'ReverseBytes (@ sg, @ Ergebnis, SizeOf (Single));' ist alles was Sie brauchen. –