Konsolenanwendung menüeinträge verstecken

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Konsolenanwendung menüeinträge verstecken

    Hi,

    ich sitze gerade ein einer kleinen Konsolenanwendung. ich erstelle gerade ein menü das wie folgt aussieht:

    VB.NET-Quellcode

    1. Console.WriteLine(" [1] Programm 1")
    2. Console.WriteLine(" [2]Programm 2 ")
    3. Console.WriteLine(" [3]Programm 3 ")
    4. Console.Write(" Wählen Sie eine Option aus (1 - 3): ")


    ich lasse die Konsolenanwendung am anfang prüfen ob meine 3 Programme exitieren, wenn ja dann sollen im menü die vorhandenen Programme stehen, sollte ein oder mehrere Programme nicht existieren dann sollen die jeweiligen zeilen nicht sichtbar sein.
    nun komme ich an dieser Stelle nicht weiter.

    ich hatte es mit Platzhaltern versucht:

    VB.NET-Quellcode

    1. Console.WriteLine(String.Format("{0}", p1))
    2. Console.WriteLine(String.Format("{1}", p2))
    3. Console.WriteLine(String.Format("{2}", p3))


    funktioniert nicht wirklich.
    Wie wäre es mit einem klassischen If oder besser noch: eine List(Of DeinProgramm)?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Am besten baust du dir eine Klasse, die bspw. eine Boolean Eigenschaft für jede Funktion hat. Dazu kommt dann noch eine Funktion die sich z.B. PrintOperations nennt, die dann entsprechend der Eigenschaften ein Console.WriteLine aufruft oder eben auch nicht.

    Alternativ könntest du natürlich auch eine Liste verwenden, und dann in der PrintOperations mit einer For-Schleife für jede Funktion in der Liste einmal Console.WriteLine aufrufen, und dazu noch den aktuellen Index ausgeben lassen. Dadurch hast du immer eine kontinuierliche Aufzählung, egal ob eine Funktion fehlt oder nicht.

    Edit:
    @VaporiZed zwei Dumme ein Gedanke :D

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

    @user2100 Wo ist das Problem?
    Eine Schleife zählt die (Soll-)Programme, ein Index die vorhandenen.
    Wenn Programm vorhanden, Ausgabe und nächster Index,
    wenn nicht, keine Ausgabe kein nächster Index.
    Das wäre ein Dreizeiler (ohne End If und Next).
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!