Sub unter Sub?

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von TheoTechnic.

    Sub unter Sub?

    Guten Abend zusammen,

    Ich habe eine wichtige Frage , ich würde mich selbstverständlich gerne über Vorschläge oder Hilfe freuen.

    Es geht um einen Sub, ich frage mich ob es nicht möglich ist (Ist nur ein Beispiel, es geht um was anderes)

    Spoiler anzeigen

    Geben Sie einen Befehl in diese Textbox ein.
    Stimmt der Befehl geht es in einen unter Sub mit anderen Befehlen. werden diese befehle nicht eingegeben startet kein Ereignis und man gelangt nicht in den Standard Sub zurück.


    (Hoffentlich verständlich)

    Ich würde ja eine Art schleife nutzen, jedoch ist es nicht möglich... das kann ich vorne hin weg sagen weil es was in verschiedenen Zeit Abständen wird.
    PS: es soll eine Konsolen Anwendung werden.

    Gibt es da eine Möglichkeit?
    Danke! LG.L
    Soll die Sub verlassen werden nachdem das nicht richtige eingegeben wurde?

    VB.NET-Quellcode

    1. Private Sub Textbox1_KeyPress ( ...) Handles Textbox1.KeyPress
    2. If e.KeyCode = Keys.Enter Then
    3. If Textbox1.Text = "Hallo" Then
    4. AndereSub()
    5. End If
    6. Exit Sub
    7. End If
    8. End Sub
    9. Private Sub AndereSub()
    10. End Sub
    Das meine ich eigentlich nicht... wenn möglich sollte es noch im selben Sub sein
    ich habe mir das ca so vorgestellt.

    VB.NET-Quellcode

    1. If comx = "Deaktivieren" Then
    2. MsgBox("Deaktiviert!")
    3. 'kixs_close()
    4. Do
    5. If comx = "gude" Then
    6. MsgBox("LOL")
    7. End If
    8. Loop
    9. End If

    Leider friert bei dieser Variante meine Abfrage ein, sie zeigt praktisch keine Wirkung mehr ( blöderweise ist ja auch ein Sinnloses Verfahren)*wie sonst*


    Bei Dem was du meinst das hatte ich damals auch aus probiert leider geht die abfrage so schnell vorbei, so schnell kann keiner niemand reagieren.
    Der Sub muss weiterhin lauschen ob was passiert aber auch aufpassen das sich was tut... kompliziert ausgedrückt

    Thx LG.L
    Aber wartet der nicht eh automatisch bei einer Konsolen Anwendung auf eingabe?? Heißt du gibtst etwas ein, das prüfst du und dann wartest eben wieder auf eingabe

    Console.ReadLine() oder wie der befehl auch heißt, der Code danach wird meiner Meinung nach erst ausgeführt nachdem Enter gedrückt wurde.
    Das blöde ist eigentlich das er automatisch fortfährt, ich nenne es jetzt indirekt eine Eingabe.
    Ich habe kaum losgelegt schon schließt sich der Sub und fängt beim Main sub wieder an.
    Es hat was mit einer Sprachsteuerung zu tun.
    Und scheinbar loopt es von sich aus bis ich mein Wort / Satz gesprochen habe.
    LG.L
    Genau sowas in der art, und deshalb suche ich eine Möglichkeit die das zu lässt.
    sonst wird mein Code unübersichtlich wenn ich alles in neue Module oder Subs Schreibe.

    LG.L
    vielleicht GoTo? :P
    Steinigt mich bitte nicht gleich!
    "I think Microsoft has abused the Windows brand so much that it has lost its cachet."
    Paul Thurrott

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „mottzi“ ()

    *Steinigen*
    *Noch nie ist ein Code durch Prozedurale Struktur unübersichtlich geworden*

    Versuche mal, eine Status-Variable zu setzen:

    VB.NET-Quellcode

    1. Private pPasswortOK As Boolean = False
    2. Private Sub Passwort() 'Handles txtPw.TextChanged
    3. pPasswortOK = (txtPw.Text = "Haha")
    4. End Sub
    5. Private Sub Aktion () ' Handles Form KeyDown oder anderen input
    6. If pPasswortOK Then
    7. 'Machen
    8. Else
    9. 'Meckern
    10. End If
    11. End Sub
    Hi,

    @mottzi: Steinigen vielleicht nicht, aber GoTo? Bloß nicht... (obwohl ich zugeben muss, das war auch mein erster Gedanke ;) ). Aber wenn du GoTo benutzt, wird der schwarze Mann dein Programm holen (so stand es in meinem ersten Programmierbuch)...

    @Lawliet: Subs in Subs geht nun mal nicht... Da wirst du wohl notgedrungen auslagern müssen... Du kannst deine Methoden ja in eine andere Klasse in einem anderen File packen, dann wird das mit der Übersichtlichkeit schon :)

    MfG
    Turtle10
    Hat sich so eben geklärt, ist sogar übersichtlich geworden ;)
    Meine Ordnung ist recht mies, deshalb verliere ich selber schnell den überblick.

    @Tsuyo
    Ja, klassen kenne ich :thumbup: