Manfred.Becker Geschrieben 4. Juni 2005 Teilen 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... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bubble Geschrieben 5. Juni 2005 Teilen 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Manfred.Becker Geschrieben 6. Juni 2005 Autor Teilen 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bubble Geschrieben 6. Juni 2005 Teilen Geschrieben 6. Juni 2005 Die ReadKey Methode der System.Console Klasse. Ab Version 2.0 im Framework enthalten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Manfred.Becker Geschrieben 6. Juni 2005 Autor Teilen Geschrieben 6. Juni 2005 Gut zu wissen! Allerdings verwenden wir die Framework Version 1.1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.