Einzelnen Beitrag anzeigen

Elmariachi

Registriert seit: 25. Jan 2005
5 Beiträge
 
#3

AW: DelphiTwain Probleme mit SetImageLayoutFrame

  Alt 27. Dez 2012, 12:24
Ist zwar ewig her, aber ich möchte es trotzdem noch erwähnen: Der korrigierte Code oben hat zwei Probleme. Er prüft nicht, ob evtl. Grenzen verletzt werden und vor allem wirft er eine Exception bei negativen Werten, die im TW_FIX32 eine Nachkommastelle haben. (Also z.B. -3,5 wirft Exception während -3 geht)

Code:
  if floater<low(TW_INT16) then floater:=low(TW_INT16);
  if floater>high(TW_INT16) then floater:=high(TW_INT16);
  Result.Whole:=trunc(floater);
  Result.Frac:=trunc(frac(abs(floater))*65536.0);
Natürlich könnte man selbst eine Exception raisen, wenn floater den möglichen Bereich des TW_FIX32 verletzt, aber ich hab einfach mal das Minimum bzw. das Maximum angenommen.
  Mit Zitat antworten Zitat