Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
Delphi 12 Athens
|
AW: 32 Bit Wert verschieden interpretieren
17. Mai 2012, 18:33
Mit einem varianten Record sollte das aber auch funktionieren, und zwar kürzer.
Delphi-Quellcode:
type
TConvRec = record
case integer of
0: (d: double);
1: (i: LongInt);
2: (w: LongWord);
3: (LoLo, HiLo, LoHi, HiHi: Byte);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Rec: TConvRec;
begin
Rec.i := -2147483647;
ShowMessage(Format('%d, %d, %d, %d', [Rec.HiHi, Rec.LoHi, Rec.HiLo, Rec.LoLo]));
Rec.w := 4294967295;
ShowMessage(Format('%d, %d, %d, %d', [Rec.HiHi, Rec.LoHi, Rec.HiLo, Rec.LoLo]));
Rec.d := 1.7e308;
ShowMessage(Format('%d, %d, %d, %d', [Rec.HiHi, Rec.LoHi, Rec.HiLo, Rec.LoLo]));
end;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|
|
Zitat
|