Manfred.Becker Geschrieben 4. Juni 2005 Geschrieben 4. Juni 2005 Hi, während ich meine erste C# Konsole-Anwendung programmiert habe, vermisste ich Funktionen die den Tastencode liefern, ohne auf den Tastendruck zu warten. Als C++ Programmierer suchte ich Funktionen wie _kbhit() oder _getch(). Aber ich fand nur C#-Funktionen wie Console.Read() oder Console.ReadLine(). Beides Funktionen, die solange warten, bis eine Taste gedrückt wurde. Aber ich wollte nicht warten. Deshalb suchte ich bei CODE PROJECT nach den Schlüsselwörtern (kbhit, getch, GetKey), um eine schnelle Lösung zu finden. Aber ich fand leider nichts brauchbares! Deshalb musste ich mich selbst drum kümmern, und hier ist meine Lösung. manib.ma.funpic.de Einfach Sprache auswählen, "Programmierung" anklicken und dem Link "ConsoleLibrary" folgen. Viel Spass...
Bubble Geschrieben 5. Juni 2005 Geschrieben 5. Juni 2005 Dein Programm ist keine reine .NET-Bibliothek, sondern verwendet native code. Es ist damit in _reinen_ .NET Projekten nicht problemlos einsetzbar, da alle Assemblies mit native code oder PInvoke Aufrufen immer als unsicher eingestuft werden (sie können nicht auf Vertrauenswürdigkeit verifiziert werden), es sei den der Benutzer vertraut ihnen explizit. Auch eine Verwendung z.B. in Verbindung mit Mono ist dadurch nicht grundsätzlich möglich. Aber auch schon ein einfacher Start des Programms über eine Netzwerkfreigabe scheitert an den Default-Einstellungen der .NET-Umgebung und wirft eine Exception. Die Vorgehensweise ist daher nur für Programme geeignet, bei denen von Anfang an geplant ist einzelne Teile mit native Code umzusetzen.
Manfred.Becker Geschrieben 6. Juni 2005 Autor Geschrieben 6. Juni 2005 Hi Bubble, ich muss dir Recht geben. Aber gibt es in C# für sowas: do { // get the key... key = Keyboard.GetKey(); // check the key... if (key != (int)KeyCode.KeyNone) { if (key == (int)KeyCode.KeyF1) Console.WriteLine("You've pressed F1."); } // do something else ... } while (key!=(int)KeyCode.KeyEscape); [/PHP] eine andere Lösung wie so ein Library?
Bubble Geschrieben 6. Juni 2005 Geschrieben 6. Juni 2005 Die ReadKey Methode der System.Console Klasse. Ab Version 2.0 im Framework enthalten.
Manfred.Becker Geschrieben 6. Juni 2005 Autor Geschrieben 6. Juni 2005 Gut zu wissen! Allerdings verwenden wir die Framework Version 1.1
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden