Register for your free account! | Forgot your password?

Go Back   elitepvpers › Coders Den › .NET Languages
You last visited: Today at 13:33

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C#] Konsole Auswahlmenü

Discussion on [C#] Konsole Auswahlmenü within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
Siebenkeim's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 36
Received Thanks: 0
[C#] Konsole Auswahlmenü

Hallo,
ich bin recht neu in C# habe mir mehrere Tuts angekugt (Klassen, Member überschreiben usw.) und wollte ein kleine Banksystem programmieren in der Konsole z.B Konto erstellen und abrufen Geld einzahlen etc.
Und ich wollte fragen wie ich in der Konsole ein Auswahlmenü hinbekommen, ich habe bis jetzt nur
1. Konto erstellen
2.Anmelden
Bitte Zahl eingeben:

Würde gerne das man mit den Pfeiltasten auswählen kann was man nehmen möchte, ist das überhaupt möglich?
Und noch eine kleine Frage nebenan wie kann ich z.B Kontoinhaber etc. in eine Extra Datei speichern? Damit es "gespeichert" wird.

Danke schonmal für eure Hilfe!
Siebenkeim is offline  
Old   #2

 
Syc's Avatar
 
elite*gold: 666
Join Date: Apr 2011
Posts: 5,810
Received Thanks: 2,418
Auswahlmenü:

Einfach ein Menü erstellen

Code:
1. Konto erstellen
2. Anmelden
...
und eine Variable, die angibt welcher Menüpunkt gewählt ist

Bei Druck auf Pfeiltaste nach oben verringert sich die Variable um 1
Bei Druck auf Pfeiltaste nach unten erhöht sich die Variable um 1
Bei Druck auf Enter schaust du dir an welchen Wert die Variable hat und machst dann das was als Menüpunkt angegeben ist.

Die Variable darf natürlich nie größer sein als die Anzahl der Menüpunkte.

Um einen Menüpunkt zu markieren, kannst du Console.Background verwenden.

Speichern:

Schau dir mal die Klasse Filestream an .. ich denke anfangs reicht es alles in ein normales Textdokument zu speichern.
Syc is offline  
Thanks
1 User
Old   #3
 
Siebenkeim's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 36
Received Thanks: 0
Danke dir werde das mal testen

Noch eine kleine Frage wie kann ich abfragen ob die Pfeiltasten gedrückt wurden?
Siebenkeim is offline  
Old   #4

 
Syc's Avatar
 
elite*gold: 666
Join Date: Apr 2011
Posts: 5,810
Received Thanks: 2,418
Quote:
Originally Posted by Siebenkeim View Post
Danke dir werde das mal testen

Noch eine kleine Frage wie kann ich abfragen ob die Pfeiltasten gedrückt wurden?
Code:
ConsoleKeyInfo k = Console.ReadKey();
Hiermit wird der Tastendruck abgefangen und in die Variable "k" gespeichert.

Code:
k.Key == ConsoleKey.UpArrow
Damit wird geprüft ob die Variable mit dem Namen "k" den Wert "Pfeiltaste nach oben" hat ... dies geht natürlich mit allen möglichen Tasten.
Syc is offline  
Thanks
1 User
Old   #5
 
Siebenkeim's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 36
Received Thanks: 0
EDIT: Nochmals aber ich krieg das irgendwie nicht hin kann vll. jemand bitte ein Beispiel posten?
Siebenkeim is offline  
Old   #6

 
Syc's Avatar
 
elite*gold: 666
Join Date: Apr 2011
Posts: 5,810
Received Thanks: 2,418
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Title = "Banksystem";

            int Navigation = 1;
            bool Schleife = true;

            Console.BackgroundColor = ConsoleColor.Yellow;
            Console.WriteLine("1. Konto erstellen");
            Console.BackgroundColor = ConsoleColor.Black;
            Console.WriteLine("2. Anmelden");
            Console.WriteLine("3. Beenden");

            do
            {               

                ConsoleKeyInfo k = Console.ReadKey();

                if (k.Key == ConsoleKey.Enter)
                {
                    Console.Clear();

                    switch (Navigation)
                    {
                        case 1:
                            Console.WriteLine("Konto erstellen ...");
                            //Konto erstellen
                            break;

                        case 2:
                            Console.WriteLine("Anmelden ...");
                            //Anmeldevorgang
                            break;

                        case 3:
                            Environment.Exit(1);
                            break;
                    }

                    break;
                }

                if (k.Key == ConsoleKey.UpArrow)
                    if (Navigation != 1)
                        Navigation--;
                    else
                        Navigation = 3;

                if (k.Key == ConsoleKey.DownArrow)
                    if (Navigation != 3)
                        Navigation++;
                    else
                        Navigation = 1;

                if (Navigation == 1)
                {
                    Console.Clear();
                    Console.BackgroundColor = ConsoleColor.Yellow;
                    Console.WriteLine("1. Konto erstellen");
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.WriteLine("2. Anmelden");
                    Console.WriteLine("3. Beenden");
                }
                else if (Navigation == 2)
                {
                    Console.Clear();
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.WriteLine("1. Konto erstellen");
                    Console.BackgroundColor = ConsoleColor.Yellow;
                    Console.WriteLine("2. Anmelden");
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.WriteLine("3. Beenden");
                }
                else if (Navigation == 3)
                {
                    Console.Clear();
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.WriteLine("1. Konto erstellen");
                    Console.WriteLine("2. Anmelden");
                    Console.BackgroundColor = ConsoleColor.Yellow;
                    Console.WriteLine("3. Beenden");
                    Console.BackgroundColor = ConsoleColor.Black;
                }
            } while (Schleife == true);

            Console.ReadLine();

        }
    }
}
geht bestimmt auch kürzer

am besten selber versuchen und nicht C&P
Syc is offline  
Thanks
1 User
Old   #7
 
Siebenkeim's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 36
Received Thanks: 0
Danke dir hab es ein bisschen für mich verständlich gemacht

Code:
Console.WriteLine("Nummer 1 <");
            Console.WriteLine("Nummer 2");
            SelectStart:
            ConsoleKeyInfo selectArrow = Console.ReadKey();
            if (selectArrow.Key == ConsoleKey.UpArrow)
            {
                Console.Clear();
                Console.WriteLine("Nummer 1 <");
                Console.WriteLine("Nummer 2");
                systemCounter--;
                if (systemCounter < 1)
                {
                    systemCounter = 1;
                }
                goto SelectStart;
            }
            else if (selectArrow.Key == ConsoleKey.DownArrow)
            {
                Console.Clear();
                Console.WriteLine("Nummer 1");
                Console.WriteLine("Nummer 2 <");
                systemCounter++;
                if (systemCounter > 2)
                {
                    systemCounter = 2;
                }
                goto SelectStart;
            }
            else if (selectArrow.Key == ConsoleKey.Enter)
            {
                Console.Clear();
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("systemCounter hat: " +       systemCounter.ToString(); 
                Console.ReadLine();
                //Continue
            }
Siebenkeim is offline  
Old   #8
 
elite*gold: 14
The Black Market: 108/0/1
Join Date: May 2011
Posts: 2,671
Received Thanks: 818
Du willst nicht ernsthaft goto verwenden, oder?
vwap is offline  
Reply


Similar Threads Similar Threads
Neuer Monitor für PC und Konsole, aber bei Konsole kein Sound!
01/08/2012 - Technical Support - 2 Replies
Hey Leute! Ich habe zum meinem 18. einen neuen Monitor bekommen, den S2330mx von DELL. Nun ja ich bin ziemlich zufrieden mit dem Bildschirm. Mein Problem ist halt jetzt, das im Bildschirm keine Lautsprecher eingebaut sind. Und ein Audio Eingang ist auch keiner. Alles am PC läuft gut, aber Sound bei meiner Playstation 3 ist halt nicht da und ich wollte fragen ob man das irgendwie machen könnte, das ich auch Sound habe, wenn ich Playstation spiele. Boxen habe ich auch von DELL und die...
C# CMD-Konsole
08/24/2011 - .NET Languages - 2 Replies
Hey, Ich möchte mit dem CMD eine Art Konsole für meinen Server machen. Im CMD sollen alle Ereignisse gezeigt werden und wenn der User was schreibt sollen bei bestimmten Texten Funktionen ausgeführt werden. Es funktioniert gut bis auf eine Macke: Der User kann nur schreiben wenn console.readline ausgeführt wird, allerdings während dieser Befehl ausgeführt wird kann der Server nicht weiterlaufen was zu Laggs führt. Wenn console.readline jedoch nicht ausgeführt wird kann der User im CMD...
realmd auswahlmenü
12/28/2010 - WoW Private Server - 3 Replies
Hallo Ich bin bei realmd auswahlmenü aber mein Server steht dort nur Offline wo ist es das Problem?
GM Konsole!!!!!!!!!
11/25/2008 - Metin2 - 21 Replies
Hallo Leutchen^^ Also es wird ya diskotiert ob die GM´s ne Konsole haben. Die Antwort heißt "Nein" Guckt euch diese beiden Video´s an Wie Die Dicke Metin Fallen Lässt Und Ein Boss Mob =) YouTube - Metin2 bei GigaTv (1/2) YouTube - Metin2 bei GigaTv (2/2)



All times are GMT +1. The time now is 13:34.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.