@Gammatester
Dein Arroganter Kommentar zeigt mir, dass du das Prinzip welches ich hier zeigen wollte definitiv nicht begriffen hast bzw. nicht kennst!
Sonst hättest du mich sicher auf den Fehler hinweisen können!
Im übrigen kosten Typecasts ne Menge Zeit und sind bei so einer einfachen umwandlung schlichtweg überflüssig!
@An den Rest
ich habe mich leider beim Byteszählen vertan. Hier nun noch einmal die berichtigte Variante
Code:
...
type
TConvert32Bit = (Conv_AsFloat, Conv_AsInteger, Conv_AsByte, Conv_AsChar, Conv_AsCardinal);
TConvertRecord = record
case TConvert32Bit of
Conv_AsFloat : (FloatValue : Single);
Conv_AsInteger : (IntValue : Integer);
Conv_AsByte : (ByteHH, ByteHL, ByteLH, ByteLL : Byte);
Conv_AsChar : (CharHH, CharHL, CharLH, CharLL : Char);
Conv_AsCardinal : (CardinalValue : Cardinal);
end;
TForm1 = class(TForm)
...
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var ConvertVar : TConvertRecord;
FloatValue : Single;
begin
FloatValue := 0.0;
ConvertVar.FloatValue := FloatValue;
ShowMessage(IntToHex(ConvertVar.IntValue, 8));
FloatValue := 1234.1234;
ConvertVar.FloatValue := FloatValue;
ShowMessage(IntToHex(ConvertVar.IntValue, 8));
end;
PS.: der Ton spielt die Musik. Ich habe kein Problem damit, wenn man mich auf Fehler hinweist. Die Frage ist nur Wie!