Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2010, 17:22   #1
ZaVyLoN
 
Регистрация: 22.10.2010
Сообщений: 5
По умолчанию С#. Консольная менюшка.

Писал когда-то на с++
перебил быстро под с#

перебивать _getch() не стал

нашел в инете код:
Код:
[DllImport("msvcrt")]
static extern int _getch();
если честно, не знаю как это рабоатет!!
может кто пояснит!?

если есть время у кого, прошу указать на ошибки!
работает все нормально,
но я еще не дошел до того уровня, чтобы сразу писать оптимальный код!
может упорстить что можно!?

и вопрос! _getch() - убиарть(заменить)!?
Вложения
Тип файла: rar Program.rar (969 байт, 15 просмотров)

Последний раз редактировалось ZaVyLoN; 23.10.2010 в 17:32.
ZaVyLoN вне форума Ответить с цитированием
Старый 23.10.2010, 18:01   #2
Xeonc
Форумчанин
 
Регистрация: 20.10.2010
Сообщений: 143
По умолчанию

"Не претендуя на объективность"

1. Чтобы не включать в c#, то, что ему не родное - лучше вместо _getch, использовать механизм считывания клавиш, как в том коде, что ты сам написал в другой теме.
2. Использовать goto - моветон, лучше оформи Look, как отдельный метод.

В сам алгоритм сильно не вникал, желательно выкладывая в массы - снабдить его комментариями, дабы посторонним было проще смотреть логику кода
451 -870-7(три)6. Выполняю работы на заказ, гарант честности - ВМ аттестат с 60+ БЛ без претензий
Xeonc вне форума Ответить с цитированием
Старый 27.10.2010, 23:14   #3
Integra31
Новичок
Джуниор
 
Регистрация: 27.10.2010
Сообщений: 1
Вопрос

Может кто-то может пояснить что означают эти строчки
[DllImport("msvcrt")]
static extern int _getch();
???
Integra31 вне форума Ответить с цитированием
Старый 27.10.2010, 23:21   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

из библиотеки DLL msvsrt импортируется функция _getch
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.11.2010, 15:13   #5
lot555
Пользователь
 
Регистрация: 01.03.2010
Сообщений: 10
По умолчанию

Если _getch возвращает номер символа нажатой клавиши, то в C# есть аналог, но работает по другому.
Определить имя нажатой клавиши можно так:

Код:
ConsoleKeyInfo m1 = Console.ReadKey(true);
Console.WriteLine(m1.Key);
Console.ReadKey();

Создаёт объект типа ConsoleKeyInfo, и объекту m1 присваивает информацию о клавише, true сигнализирует не показывать нажатую клавишу:
ConsoleKeyInfo m1 = Console.ReadKey(true);

Свойство Key возвращает название нажатой клавиши:
Console.WriteLine(m1.Key);

В Условии:
Key приводится в строку методом ToString() и сравнивается с названием клавиши:
m1.Key.ToString() == "DownArrow"



Ниже пример кода(не рабочий, чтобы работал читай внизу комментарии):
Вложения
Тип файла: rar PrimerKoda(sm.komm).rar (991 байт, 8 просмотров)
lot555 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Консольная графика... 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