Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#12

Re: Verhindern des Überschreitens des Maximalwertes von inte

  Alt 14. Nov 2005, 19:03
So gehts (da fehlt noch der Test ob es ein "-" ist und ob nur Zahlen verwendet werden, es wird also derzeit vorrausgesetzt das die Zahl größer 0 ist und nur zahlen verwendet werden)
Delphi-Quellcode:
  function LIsItBigger(ACheckVal, AMaxVal: String): Boolean;
  var LCheckVal, LMaxVal: Byte;
  begin
    if Length(ACheckVal) > Length(AMaxVal) then
      result := True
    else if Length(ACheckVal) < Length(AMaxVal) then
      result := False
    else begin
      LCheckVal := StrToInt(ACheckVal[1]);
      LMaxVal := StrToInt(AMaxVal[1]);
      result := (LCheckVal > LMaxVal) or
                (Length(ACheckVal) > 1) and (LCheckVal = LMaxVal) and
                 LIsItBigger(copy(ACheckVal, 2, Length(ACheckVal)), copy(AMaxVal, 2, Length(AMaxVal)));
    end;

  end;
var LMaxWert: String;
begin
  LMaxWert := '2147483647';
  Caption := BoolToStr(LIsItBigger(Edit1.Text, LMaxWert), True);
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat