Visual Basic 2008 - Fehleingabe

Hallo,
ich habe am Mittwoch angefangen mir Windows Visual Basic 2008 beizubringen und habe jetzt gerade ein kleines Problem.

Ich bitte den User um eine Eingabe. Er soll aber entweder 1 oder 2 eingeben, sonst nichts.

Kann ich etwas schreiben, das bei einer Fehleingabe (also alles andere ausser 1 oder 2) ein Text kommmt, der darauf hinweißt das eine Fehleingabe gemacht wurde und das der User dann die Möglichkeit hat erneut zwischen 1 und 2 zu wählen?

Ich hatte es versucht mit
___________________________________________________
If eingabe = 1 Then
Console.WriteLine(„Du hast 1 eingegeben.“)
ElseIf eingabe = 2 Then
Console.WriteLine(„Du hast 2 eingegeben.“)
Else
Console.WriteLine(„Fehleingabe. Bitte 1 oder 2 eingeben.“)
___________________________________________________

Es wird zwar der Text: „Fehleingabe. Bitte 1 oder 2 eingeben.“ ausgegeben, aber dann ist für Visual Basic die If funktion beendet und er macht mit der nächsten Anwendung weiter. Dadurch hat der User dann keine Möglichkeit eine erneute Eingabe zu machen.

Ich stell mir die Funktion ungefähr so vor:

Console.SpringezuZeile5

Vielen Dank im vorraus.

Ich hab viel probiert und noch weiter gegoogelt und denke das es vielleicht mit der Funktion

GoTo

funktionieren könnte, aber ich weiß nicht wie die weiter geht. Ich soll jetzt sagen in welche Zeile ich springen möchte aber egal was ich eingebe, es kommt eine Fehlermeldung das etwas in der Anwendung nicht stimmt.

@Mod Falsches Brett

Ich bitte den User um eine Eingabe. Er soll aber entweder 1
oder 2 eingeben, sonst nichts.

Hallo Danke,

laß das mit dem Goto.

Probiers mal so in etwa:

eingabe=InputBox(...)
While eingabe 1 And eingabe 2
 MsgBox "1 oder 2 eingeben"
 eingabe=InputBox(...)
Wend
MsgBox "Sie haben " & eingabe & " eingegeben."

Anstelle von MsgBox kannste auch dein Console.Writeline nehmen.
Bei InputBox mußte nach der Syntax schauen.

Und, du bist im falschen Brett, mail mal den Mod an daß er dich verschiebt, siehe hiesige Brettbeschreibung.

Gruß
Reinhard

Hallo,

als Konsolen Anwendung zum Bsp. so

Module Module1

 Sub Main()
 Dim x As String
 Do
 x = Console.ReadLine
 'hier kannst du x abfragen und entsprechend agieren
 'Die schleife wird bei Eingabe einer 1 oder einer 2 verlassen
 Loop Until x = "1" Or X = "2"
 End Sub

End Module

MfG Alex

Ja, danke. So hab ich das jetzt auch irgendwie gemacht. Also mit neuen Sub´s.

Klappt alles wie es soll :smile:

Kann geschlossen und verschoben werden.