Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.544 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: 32 Bit Wert verschieden interpretieren

  Alt 17. Mai 2012, 17: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
  Mit Zitat antworten Zitat