|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.10.2010, 17:22 | #1 |
Регистрация: 22.10.2010
Сообщений: 5
|
С#. Консольная менюшка.
Писал когда-то на с++
перебил быстро под с# перебивать _getch() не стал нашел в инете код: Код:
может кто пояснит!? если есть время у кого, прошу указать на ошибки! работает все нормально, но я еще не дошел до того уровня, чтобы сразу писать оптимальный код! может упорстить что можно!? и вопрос! _getch() - убиарть(заменить)!? Последний раз редактировалось ZaVyLoN; 23.10.2010 в 17:32. |
23.10.2010, 18:01 | #2 |
Форумчанин
Регистрация: 20.10.2010
Сообщений: 143
|
"Не претендуя на объективность"
1. Чтобы не включать в c#, то, что ему не родное - лучше вместо _getch, использовать механизм считывания клавиш, как в том коде, что ты сам написал в другой теме. 2. Использовать goto - моветон, лучше оформи Look, как отдельный метод. В сам алгоритм сильно не вникал, желательно выкладывая в массы - снабдить его комментариями, дабы посторонним было проще смотреть логику кода
451 -870-7(три)6. Выполняю работы на заказ, гарант честности - ВМ аттестат с 60+ БЛ без претензий
|
27.10.2010, 23:14 | #3 |
Новичок
Джуниор
Регистрация: 27.10.2010
Сообщений: 1
|
Может кто-то может пояснить что означают эти строчки
[DllImport("msvcrt")] static extern int _getch(); ??? |
27.10.2010, 23:21 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
из библиотеки DLL msvsrt импортируется функция _getch
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
02.11.2010, 15:13 | #5 |
Пользователь
Регистрация: 01.03.2010
Сообщений: 10
|
Если _getch возвращает номер символа нажатой клавиши, то в C# есть аналог, но работает по другому.
Определить имя нажатой клавиши можно так: Код:
Создаёт объект типа ConsoleKeyInfo, и объекту m1 присваивает информацию о клавише, true сигнализирует не показывать нажатую клавишу: ConsoleKeyInfo m1 = Console.ReadKey(true); Свойство Key возвращает название нажатой клавиши: Console.WriteLine(m1.Key); В Условии: Key приводится в строку методом ToString() и сравнивается с названием клавиши: m1.Key.ToString() == "DownArrow" Ниже пример кода(не рабочий, чтобы работал читай внизу комментарии): |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Консольная графика... | Sota | C++ Builder | 3 | 01.04.2010 05:48 |
Менюшка на форме как у винды | ---FISHER--- | Общие вопросы Delphi | 1 | 09.08.2009 17:06 |
Пропала менюшка при вставке... (( | Bu$ter | Microsoft Office Excel | 7 | 23.05.2008 14:39 |
Менюшка формы.. | Roberto | Win Api | 2 | 27.04.2008 10:55 |