Das ist aber nicht sehr IPv6 freundlich! Also ich würde auf jeden Fall noch dran schreiben, dass dies nur für IPv4 gilt.
Dann habe ich beim lesen des Codes noch eine Frage, bei der ich mir nicht sicher bin. Meine Delphi-Zeiten habe ich bereits einige Jahre hinter mir. Der Code in der Zeile 23 prüft doch, ob sich eine der Zahlen aus den 4 Zahlengruppen einer IPv4 gleich 0 oder größer 255 ist? Wenn das so ist, dann ist das falsch. Eine
IP kann auch eine 0 haben. Nur nicht am Anfang und am Ende der
IP. Das sind dann besondere IPs.
Edit:// Okay, hier habe ich mich vertan. Es wurde ja OctetLength auf 0 geprüft, das macht natürlich Sinn.
Auch ist zu berücksichtigen, dass die Funktion wirklich nur auf eine gültige Notation prüft. Hier sind immernoch Kombinationen möglich, die nicht immer sinnvoll sind. Die Broadcast-Adresse "255.255.255.255" ist zum Beispiel keine
IP, die man in manchen Szenarien sinnvoll einsetzen könnte.
Hoffe ich hab hier nicht alles in Delphi misinterpretiert...
Liebe Grüße,
Valle