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

Bewertung
  • vor 1 Jahrzehnt
    Beste 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 ;-)

  • Anonym
    vor 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

  • JUMPER
    Lv 5
    vor 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.
  • vor 1 Jahrzehnt

    und wenn Du alle "ElseIf" durch "If" ersetzt?

    Nachtrag: oder "Else" und "If" trennen...

Haben Sie noch Fragen? Jetzt beantworten lassen.