Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.016 Beiträge
 
Delphi 12 Athens
 
#4

Re: Verhindern des Überschreitens des Maximalwertes von inte

  Alt 13. Nov 2005, 13:10
Tja, für vieles gibt es eben mehrere Wege, wobei´ich persönlich hierfür nicht gleich auf 'nen Try-Except-Block zurückgreifen würde.


Wenn deinen einzugebenden Werte nicht all zu sehr ins negative gehen, dann ginge auch folgendes:
Delphi-Quellcode:
Var i: Integer;

Begin
  i := StrToIntDef(Edit1.Text, Low(Integer));
  If i = Low(Integer) Then {Fehler...}
End;
Oder du wenn es dir egal ist, wenn der größtmögliche Intergerwert (2.147.483.647) nicht mehr vorhanden ist, dann verwende statt dem Low(Integer) das High(Integer) oder MaxInt ^^


möglicher Wertebereich bei verwendung von
MinInt: -2.147.483.647 .. 2.147.483.647
MaxInt: -2.147.483.648 .. 2.147.483.646


Da StrToIntDef aber intern auch nur das TryStrToInt verwendet, dann ist würde direkt damit der Wertebereich natürlich nicht um 1 verringert.
If not TryStrToInt(Edit1.Text, i) Then {Fehler...}
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat