Wenn ich das folgende Snippet ausführe und einen akzeptablen Wert eingib, bekomme ich das gewünschte Ergebnis.Validieren von Benutzereingaben im Eingabefeld
do while len(strselect) = 0 'or strselect<>"1" or strselect<>"2" or strselect<>"3"
strselect = inputbox ("Please select:" &vbcrlf&vbcrlf&_
"1. Add an entry" &vbcrlf&vbcrlf&_
"2. Remove an entry" &vbcrlf&vbcrlf&_
"3. Search for an entry" &vbcrlf, "Contact Book")
if isempty(strselect) then
wscript.quit()
elseif strselect="1" then
wscript.echo "You chose 1"
elseif strselect="2" then
wscript.echo "You chose 2"
elseif strselect="3" then
wscript.echo "You chose 3"
end if
loop
Allerdings, wenn ich versuche, weiter den Validierungsprozess einschränken (durch die Bemerkung in den do while
Bedingungen einschließlich) und das Snippet erneut ausführen, bekomme ich die entsprechenden if
Zustand ausgelöst, aber die do
Schleife wird fortgesetzt, statt Verlassen .
Ich habe versucht mit isnumeric
und cstr
auf der do
Schleife strselect
Bedingungen, ohne Freude ... Was bin ich das verflixte Ding zu bekommen, die Schleife zu beenden?
Dank ND so viel MC ändern, schön illustriert Antwort. Mein Fehler ist jetzt so klar, wie es letzte Nacht frustrierend unbestimmbar war. Ich werde meine logischen Operatoren und meine Logik überarbeiten! Post aste ... Danke nochmal! :) –