Mega Code Archive

 
Categories / Delphi / Strings
 

Check if a String is a valid IP Address (II)

Title: check if a String is a valid IP Address (II)? // Die Lösung // http://www.swissdelphicenter.ch/de/showcode.php?id=381 // ist leider nicht richtig! // Einen String auf eine gültige IP-Adresse überprüfen wenn das Format // '000.000.000.000 bzw. 0.0.0.0 ist / sein sollte. function IsWrongIP(Ip: string): Boolean; const Z = ['0'..'9', '.']; var I, J, P: Integer; W: string; begin Result := False; if (Length(Ip) 15) or (Ip[1] = '.') then Exit; I := 1; J := 0; P := 0; W := ''; repeat if (Ip[I] in Z) and (J then begin if Ip[I] = '.' then begin Inc(P); J := 0; try StrToInt(Ip[I + 1]); except Exit; end; W := ''; end else begin W := W + Ip[I]; if (StrToInt(W) 255) or (Length(W) 3) then Exit; Inc(J); end; end else Exit; Inc(I); until I Length(Ip); if P then Exit; Result := True; end;