2016-05-07 9 views
1

Ich bin ein Zwei-Spieler-Hangman Spiel machen, und ich habe eine Grenze von 10 Zeichen gesetzt, die feine Arbeit ist:Wie kann die Dateneingabe in LiveCode auf Kleinbuchstaben beschränkt werden?

on keyDown 
if the length of me = 10 then 
    beep 
else 
    pass keyDown 
end if 
end keyDown 

Allerdings, wenn ich versuchen, die Eingabe von Zeichen nur Kleinbuchstaben zu beschränken, scheint nichts passieren. Ich kann immer noch einen beliebigen Buchstaben eingeben.

on keyDown inkey 
if inkey is in "abcdefghijklmnopqrstuvwxyz" then 
    pass keyDown 
else 
    beep 
end if 
end keyDown 

Wie behebe ich das? Vielen Dank.

Antwort

0

Übergeben Sie nicht die keyDown Nachricht. Setzen Sie stattdessen den Wert des Parameters hinter das Feld.

on keyDown theKey 
    if len(the text of me) >= 10 then 
    beep 
    else 
    put toLower(theKey) after me 
    end if 
end keyDown 

Das Problem tritt auf, weil Livecode Kleinbuchstaben und Großbuchstaben als gleich betrachtet:

put ("a"="A") 

gibt true zurück. Eine andere Möglichkeit, dies zu lösen, ist set the caseSensitive to true. Wenn Sie diese Zeile

set the caseSensitive to true 

an den Anfang Ihres Skripts hinzufügen, wird es genau das tun, was Sie wollen.

Verwandte Themen