Gibt es hier eine elegante Möglichkeit, ohne den konkreten generischen Typ zu ermitteln? Einfach alles in den größtmöglichen Integer Typen zu kopieren und dann zu konvertieren ist leider keine Möglichkeit, da ich wissen muss, wie das Vorzeichen zu behandeln ist.
Tuts da nicht trotzdem ein record -> Int64 -> Double?
Vorzeichen bleiben erhalten und alles ist gut?!
Oder kommst an den Wert des Record mit High und Low ran?
Dann könntest du im Falle das Low(DeinRecord.Value) < 0 entsprechen agieren.
Delphi-Quellcode:
var
x1: UInt16;
x2: Int16;
begin
Writeln(High(x1));
Writeln(Low(x1));
Writeln(High(x2));
Writeln(Low(x2));
Readln;
end.