Einzelnen Beitrag anzeigen

blauweiss

Registriert seit: 19. Jun 2007
142 Beiträge
 
#6

Re: Integer wert als Float interpretieren

  Alt 25. Jan 2010, 16:29
Hallo,

@alzaimar:
die implizite Typumwandlung klappt hier nicht, da der Wert tatsächlich ja ein 32bit-Float ist und kein 32bit-Integer.

Ich würde entweder
a) mit dem Move-Befehl arbeiten
oder
b) mit einem Variant record:
Delphi-Quellcode:
type
  TIntOrFloat = record
  case IsFloat: boolean of
    true: (FloatValue: Single);
    false: (IntValue: Integer);
end;
...
var
  MyIntOrFloat: TIntOrFloat;
begin
  MyIntOrFloat.IntValue := lParam;
  MyFreq := MyIntOrFloat.FloatValue;
end;
Hier aber Achtung auf Typsicherheit für künftige 64-Bit Compiler (Integer dann 64bittig...?!).

Gruß
blauweiss
  Mit Zitat antworten Zitat