Hallo,
Deine Routine kann man auch noch etwas optimieren:
Delphi-Quellcode:
// Annahme, dass Adresse in der Form "127.0.0.1" oder "127..." übergeben wird
type
TIpArr=array[0..3]
of Integer;
procedure TIPCheck.PruefeIP(Sender:TObject);
var i, j:Integer;
n :TIpArr;
s :
String;
begin
s:='
'; j:=0;
FillChar(n, SizeOf(TIpArr), -1);
for i:=1
to Length(text)
do
begin
if (text[i]<>'
.')
then
begin
if (text[i]
in ['
0'..'
9'])
then s:=s+text[i];
end
else
begin
if (s<>'
')
then n[j]:=StrToInt(s);
Inc(j);
s:='
';
end;
// else if
end;
// for i
// für den Teil nach dem letzten Punkt
if (s<>'
')
then n[j]:=StrToInt(s)
else n[j]:=-1;
// überprüfen ob alle 4 Bereiche der IP-Adresse gültig sind:
for i:=0
to 3
if (n[i]=-1)
then
begin
raise TUngueltigeAdresse.Create('
IP-Adresse nicht korrekt!');
break;
end;
// for i
end;
// TIPCheck.PruefeIP