Ich habe mir eine Funktion gebastelt, die mir die Summe der einzelnen
IP-Stückchen berechnen und als string zurückgeben soll.
Code:
function IPSumme(IPAdresse : string): string;
var
IPs : array[0..3] of string;
zaehler : Integer;
IPzaehler : Integer;
begin
IPs[0] := ''; IPs[1] := ''; IPs[2] := ''; IPs[3] := '';
IPzaehler := 0;
for zaehler := 1 to Length(IPAdresse) + 1 do begin
if pos('.',IPAdresse) = zaehler then begin
// ein . ? dann nächster
IP-Teil
IPzaehler := IPzaehler + 1;
end else begin
IPs[IPzaehler] := IPs[IPzaehler] + copy(IPAdresse,zaehler,1);
end;
end;
Result := IntToStr(StrToInt(IPs[0]) + StrToInt(IPs[1]) + StrToInt(IPs[2]) + StrToInt(IPs[3]));
end;
IP-Beispiel: 192.168.0.1
Jedoch wird jedes mal der erste Teil (192) richtig an IPs[0] zugewiesen, aber der komplette Restteil (168.0.1) an IPs[1] und dem Rest dann nichts mehr. (habe ich durch setzen ShowMessages rausbekommen)
Ich konnte nach über 30 Minuten hin- und herprobieren leider den Fehler nicht finden.
Vielleicht sticht er ja einem von euch Erfahrenen (Delphi-Profis) gleich ins Gesicht.
MfG