Yahoo Clever wird am 4. Mai 2021 (Eastern Time, Zeitzone US-Ostküste) eingestellt. Ab dem 20. April 2021 (Eastern Time) ist die Website von Yahoo Clever nur noch im reinen Lesemodus verfügbar. Andere Yahoo Produkte oder Dienste oder Ihr Yahoo Account sind von diesen Änderungen nicht betroffen. Auf dieser Hilfeseite finden Sie weitere Informationen zur Einstellung von Yahoo Clever und dazu, wie Sie Ihre Daten herunterladen.
If Anweisung bei Visual Basic?
Hi!
Ich habe ein Problem und kann keine Lösung finden.
Ich habe eine Form namens "Form1" und eine Form namens "Form2" erstellt. Nun wollte ich das der Benutzer in eine Textbox (namens "TextBox1") "bitte" eingibt, und dann zu Form2 weitergeleitet wird. Andernfalls sollte er diese Meldung bekommen: "Das ist aber nicht das richtige Wort!"
Mein Code ist:
If TextBox1.Text = "Bitte" then Form2.Show
ElseIf TextBox1.Text = "Bitte!" then Form2.Show
ElseIf TextBox1.Text = "bitte" then Form2.Show
ElseIf TextBox1.Text = "bitte!" then Form2.Show
Else MessageBox.Show("Das ist aber nicht das richtige Wort",MssageBoxButtons.OK)
Leider wird mir dann folgendes angezeigt:
"ElseIf" muss eine entsprechende If- oder ElseIf-Anweisung voranstehen.
Ich weiß, ihr findet das Programm unnötig doch es ist schließlich nur zu Übungszwecken.
Könnt ihr mir meine Fehler sagen?
Danke schon mal für die Antworten.
mfg
Kevin89
5 Antworten
- ramsjoenLv 6vor 1 JahrzehntBeste Antwort
In einer elseif-Konstruktion darf hinter dem then in derselben Zeile nichts mehr stehen. Versuche es mit
If TextBox1.Text = "Bitte" then
Form2.Show
ElseIf TextBox1.Text = "Bitte!" then
Form2.Show
ElseIf TextBox1.Text = "bitte" then
Form2.Show
ElseIf TextBox1.Text = "bitte!" then
Form2.Show
Else
MessageBox.Show("Das ist aber nicht das richtige Wort",MssageBoxButtons.OK)
end if
Die ElseIf-Konstruktion hat immer dasselbe Form2.Show. Du kannst den ganzen Ausdruck mit or abbilden. Außerdem kommt immer der gleiche string vor, mal klein, mal groß, mal mit und ohne ! hinten dran. Hier kannst Du auch was einfacher machen, indem Du den String vorher z.B. in Kleinbuchstaben konvertiest, dann den linken Teil untersuchst etc. - Aber hier kannst Du selbst nachschlagen, das ist eine gute Übung.
- vor 1 Jahrzehnt
Ja, ein alter Anfänger-Fehler in Visual Basic. Es gibt in VB zwei Arten der If-Abfrage. Die einzeilige (Großschreibung nur zur Verdeutlichung):
IF irgendwas THEN tue das
Und als zweites das Block-If:
IF irgendwas THEN
tue dies
ELSE IF was anderes THEN
tue jenes
ELSE
tue noch was anderes
END IF
Also: Beim mehrzeiligen If nichts mehr hinter das THEN schreiben und am Schluss das END IF nicht vergessen, dann klappt es auch mit dem Nachbarn ;-)
- Anonymvor 1 Jahrzehnt
Ich würde dir raten es mit Select case zu versuchen, also
Select case TextBox1.Text
case "Bitte"
Form2.Show
case "Bitte!"
Form2.Show
.....
End Select
- JUMPERLv 5vor 1 Jahrzehnt
Hallo Probiers mal so
If a = 1 Then
a = 2
Elseif a = 2 Then a = 3
Elseif a = 3 Then a = 4
- Wie finden Sie die Antworten? Melden Sie sich an, um über die Antwort abzustimmen.
- radulfusLv 5vor 1 Jahrzehnt
und wenn Du alle "ElseIf" durch "If" ersetzt?
Nachtrag: oder "Else" und "If" trennen...