Autohotkey Abfrage

  • Ich würde gerne aus meiner Datenbank Abfragen ob der Nutzer vorhanden ist und falls ja welche Daten darüber vorhanden sind. Nun möchte ich aber noch Abfragen ob es sich um eine Zahl handelt die eingegeben wurde oder ob es ein Text ist. Leider kriege ich es nicht so richtig hin. Kann mir da ggf einer helfen ?




    :?:/winnercheck::
    Send tBenutzername der ausgetragen werden soll:{space}
    Input, winner, V I M, {NumpadEnter} {enter}
    Send ^a{del}{esc}
    result =
    free = 0
    pName := getPlayerName(winner)
    if winner is integer
    URLDownloadToVar("http://breadscript.de/keybinder/handler.php?action=winnercheck&playerid=" winner "&name=" pName ,result)
    if(result == "0")
    {
    addChatMessage("Benutzer darf am Event nicht weiter Teilnehmen.")
    addChatMessage("==== Gründe ====")
    addChatMessage("Nicht auf der Liste.")
    addChatMessage("Von Liste gelöscht.")
    addChatMessage("Reconnected.")

    Return
    }
    else
    {
    StartSign = %result%
    StringSplit, A_StartSign, StartSign, `,
    id:= A_StartSign1
    nutzer:= A_StartSign2
    addChatMessage("ID:" id " | Spieler: " nutzer )
    pName := getPlayerName(winner)
    Return
    }
    Return


    PS: Die URLs aufzurufen bringt euch nichts. Sie laufen ins leere

  • If winner >= 0 evtl ma probieren...
    Wobei ich keinen Fehler sehe in if winner is integer ausser das evtl integer CaseSensitive betrachtet wird evtl mal groß schreiben INTEGER


    Oder


    Pseudocode:

    Code
    Isint(str)
    {
         For _i, sign in strsplit(str)*
             !(sign>=0 && sign<=9)? (Return 0):(Continue)
         Return 1
    }

    sollte so Funktionieren die Funktion...
    isint(winner)


    Handy...
    Bin in ca 1 std zuhause, fals dann noch hilfe benötigt wird...


    edit// Melde mich später, hast mehrere fehler drinnen

  • Code
    if(isint("243424333"))   ; Integer, eine reine Zahlenfolge
    
    
    
    
    if(isint("24342433dsa3"));Kein Integer da (dsa) enthalten im String
    if(isint("1.0"))  ;Float = Kein Integer da ein Punkt ehntalten
    usw...

    Mit dieser isInt Funktion kannste das doch machen, Wenn sie 0 ausgibt, ist es ein String, also eine Zeichenfolge...
    Gibt die Funktion 1 zurück ist es ein Integer, da jede Zelle des Strings sich zwischen 0 & 9 befindet... Also eine reine Zahlenfolge!

  • Ich hab derzeit andere GUI Teile wobei ich auch gerne bleiben möchte.



    hast du da vielleicht ne Lösung die darauf direkt passt ?