Wie finde ich raus, ob eine Variable eine IP ist?

  • Das kommt wohl darauf an wie und was du in die Variable einspeicherst.

    eventuell habe ich mich falsch ausgedrückt...^^
    Wie mache ich es, das eine MsgBox kommt, wenn hier $a keine ip ist :?:

    [autoit]


    $a = inputbox("IP","Gib eine Ip ein")

    [/autoit]
  • Ich glaube das geht nicht, denn man müsste ja die IP in $a schreiben, aber wenn man z.B. 25.241.122.24 eingibt, wird es nicht als nummer erkannt, da es mehr als 1 Punkt hat, deswegen muss man die Zahl in "" setzen, aber dann kann man nur IsString abfragen.

    Meine Projekte:
    ClipBoard Manager (beendet)
    Gutes ClipBoard Verwaltungs Programm mit nützlichen Funktionen.

    HTML Creator (beendet)
    Nützliches Tool um schnell ein eigenes HTML Dokument zu erstellen.

  • mach das einfach so:

    Spoiler anzeigen
    [autoit]

    If StringRegExp(inputbox("IP","Gib eine Ip ein"), '\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b', 0) Then
    MsgBox(0, '', "Ist eine IP-Adresse")
    Else
    MsgBox(0, '', "keine korrekte IP-Adresse!")
    EndIf

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

    • Offizieller Beitrag

    Hm. ich sollte langsam mal anfangen Reguläre Ausdrücke zu lernen. :D Da erspart man sich eine Menge Code.

  • Hier ist auch noch eine möglichkeit:

    Spoiler anzeigen
    [autoit]

    $IP = "127.0.0.1"

    [/autoit] [autoit][/autoit] [autoit]

    If CheckIP($IP) Then
    MsgBox(0, "True", $IP & " ist eine IP")
    Else
    MsgBox(0, "False", $IP & " ist keine IP")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Func CheckIP($IP)
    $Part = StringSplit($IP, ".")
    If $Part[0] <> 4 Then Return False
    For $a = 1 To 4 Step + 1
    If Not StringIsInt($Part[$a]) Then Return False
    If $Part[$a] > 255 Or $Part[$a] < 0 Then Return False
    Next
    Return True
    EndFunc

    [/autoit]

    LG

  • Hallo Jonathan,

    das einfachste wäre es erst gar keine anderen Eingaben zuzulassen, dafür gibt es _GUICtrlIpAddress_Create (erzeugt ein GUI zu Eingabe einer IP-Adresse) schau dir einfach die Hilfe dazu an,

    mfg (Auto)Bert

  • wie gut, dass das Script nur 3 Zeilen hat ... :rofl:

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)