Forum: Programmieren allgemein
Delphi
by gammatester,
5. Dez 2013
Der Ausdruck 'Schrott' bezog sich auf das Ergebnis nicht auf Deinen Code (das der fehlerhaft war, ist ja unzweifelhaft). Im Übrigen brauchen Typecasts nicht nur nicht 'ne Menge Zeit' sondern sondern gar keine, weil die Variable vom Compiler re-interpretiert wird, und mM ist das auch einfacher und durchsichtiger als Deine Konstruktion, die einen impliziten verdeckten Typecast gleichkommt.
Forum: Programmieren allgemein
Delphi
by gammatester,
5. Dez 2013
Damit kann man kein Single konvertieren. Es kommt zwar was raus, aber es ist völliger Schrott.
Forum: Programmieren allgemein
Delphi
by gammatester,
5. Dez 2013
Mit Delphi 7 wird das so nicht gehen. Sicher und ohne Angst kann man es so machen (mit write als Ersatz für Sende_Hex):
type
TSingleByteArray = packed array of byte; {Single as array of bytes}
var
s: single;
i: integer;
begin
s := 1.12;
for i:=0 to 3 do write(TSingleByteArray(s):4);
end;
Forum: Programmieren allgemein
Delphi
by gammatester,
5. Dez 2013
Single belegen vier Bytes. Ich nehme an, daß diese 4 Bytes als $xx, $xx, $xx, $xx übertragen werden sollen. Damit bliebe nur die Fragen der Endianness / Endigkeit / Bytereihefolge zu klären. Die Bytes erhält man via variante Records oder per absolute.