killervirus98
Goto Top

VB Script Inputbox dringende Frage!

Hallo liebe Community. Ich muss als Hausaufgaben für Informatik ein kleines VB Script schreiben, in dem man mit einer Inputbox Rechnungen abfragen muss. Und es sollte erst zum nächsten Fenster wechseln, wenn das Ergebnis richtig eingetippt wurde. Ich weiss aber nicht, wie ich das machen soll. Und ja, ich kenne Google, hab da aber irgendwie nichts gescheites gefunden. Ich wäre sehr dankbar für eine schnelle Hilfe.

Content-ID: 196888

Url: https://administrator.de/forum/vb-script-inputbox-dringende-frage-196888.html

Ausgedruckt am: 22.04.2025 um 21:04 Uhr

Friemler
Friemler 13.01.2013 um 13:31:37 Uhr
Goto Top
Hallo,

hier wird Dir keiner Deine Hausaufgaben machen!

Für den von Dir beschriebenen Zweck gibt es in VBScript Do...Loop While <Bedingung>.

Gruß
Friemler
killervirus98
killervirus98 13.01.2013 aktualisiert um 15:42:32 Uhr
Goto Top
Ich möchte aber, dass es weitergeht wenn etwas bestimmtes (Das richtige ergebnis) eingegeben wird, und nicht dass es wiederholt wird wenn man es eingibt, also genau anders rum

Bis jetzt sieht die Inputbox so aus:

a = inputbox ("1+4/2.5")

if a = "2.6" Then
b = msgbox("Richtig! Und weiter gehts!")
Else
c = msgbox("Falsch, versuchs nochmal")
End if

Und jetzt sollte das eingabe feld nochmals erscheinen, wenn die Eingabe nicht 2.6 (Ergebnis) ist. Wenn die Eingabe jedoch stimmt, sollte es zur nächsten Aufgabe übergehn.
bastla
bastla 13.01.2013 aktualisiert um 16:01:37 Uhr
Goto Top
Hallo killervirus98 und willkommen im Forum!

Wie schon von Friemler angemerkt, sollst Du anhand dieses Beispiels den Umgang mit Schleifen lernen / üben - ich würde allerdings eher Do ... Loop Until verwenden.

Grüße
bastla

P.S.: Auch wenn Du es eilig hast, solltest Du eine passende Formatierung (als "Code") verwenden.
Friemler
Friemler 13.01.2013 um 16:06:33 Uhr
Goto Top
Hallo,

Zitat von @killervirus98:
Ich möchte aber, dass es weitergeht wenn etwas bestimmtes (Das richtige ergebnis) eingegeben wird

Das kann man auch anders herum formulieren:

Du möchtest, dass es wiederholt wird, wenn etwas falsches eingegeben wird.

Vielleicht wird Dir jetzt der Sinn einer Schleife in diesem Zusammenhang klar.

Gruß
Friemler
mayho33
mayho33 14.01.2013 um 15:55:38 Uhr
Goto Top
also ganz rudimentär würde das eventuell so aussehen:

dim in: in = inputbox(irgendwas)
do
if berechnen = "dein ergebnis" then
exit do
loop until <Abbruchbedingung>

function berechnen()
...
...
...
end function
bastla
bastla 14.01.2013 aktualisiert um 17:21:41 Uhr
Goto Top
@ mayho33
Rudimentär kann man das auch nennen face-wink ...

... gemeint war aber vermutlich eher
Do
    a = InputBox("1+4/2.5")  
Loop Until a = "2.6"  
MsgBox "Richtig! Und weiter gehts!"  
bzw wenn gesteigerter Wert auf den Hinweis, dass die Eingabe falsch war, gelegt wird:
a = InputBox("1+4/2.5")  
Do Until a = "2.6"  
        a = InputBox("Fehler - versuch's nochmal!" & vbNewline & vbNewLine & "1+4/2.5")  
Loop
MsgBox "Richtig! Und weiter gehts!"  
Eleganter (dann kann auch die Eingabe mit Dezimalkomma anstatt -punkt erfolgen):
Aufgabe = "1+4/2.5"  
Do
    a = InputBox(Aufgabe)
Loop Until a = Eval(Aufgabe)
MsgBox "Richtig! Und weiter gehts!"  
Grüße
bastla

P.S.: Ganz nebenbei ist "in" übrigens ein reserviertes Wort, das nicht als Variablenname verwendet werden kann ...