IsNumber wird ignoriert

  • Nichts klappt hierbei, die Bedingung kann nicht erfüllt werden :

    [autoit]

    Do
    $Input = InputBox("Punkte","Bis wie viel Punkten willst du Spielen ?")
    Until IsNumber($Input) = 1

    [/autoit]
  • Also mit:

    [autoit]


    Do
    $Input = InputBox("Punkte","Bis wie viel Punkten willst du Spielen ?")
    Until StringIsInt($Input) = 1

    [/autoit]

    Funktioniert ist. Ich denke das der rückgabewert von einer InputBox immer ein String ist. Genau weiß ich das aber auch nicht.

    Edit:
    Stimmt, die 1 kann weg ist irgendwie das gleiche wie:

    [autoit]


    Do
    Sleep(110)
    While 1=1

    [/autoit]

    Einmal editiert, zuletzt von DevilsCry (4. August 2009 um 23:03)

  • Varianten als Datentypen sind halt auch nicht immer das Wahre :S

    IsNumber wird nicht ignoriert, sondern InputBox liefert einen String zurück also die Eingabe 42 ist somit nicht die Zahl 42 sondern der String "42".
    Ein Umwandeln mit "Number" würde auch nicht viel bringen (siehe Hilfe). Also wie oben mit IsInt.

    [EDIT]
    Wobei:

    [autoit]

    Do
    $Input = InputBox("Punkte","Bis wie viel Punkten willst du Spielen ?")
    Until StringIsInt($Input)

    [/autoit]


    ausreicht.

  • Hi,


    funktioniert ebenfalls mit Umwandlung Number:


    [autoit]

    Do
    $Input = Number (InputBox("Punkte","Bis wie viel Punkten willst du Spielen ?"))
    Until $Input = 1

    [/autoit]


    ;-))

    Stefan