На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> код клавиши , Как мне узнать код клавиши?
    Здравствуете.
    Как мне узнать код клавиши. Как потом к ней обращаться. Мне надо, чтобы при нажатие Enter or Esc or some key выполнялось какое-либо действие.

    Вот Pascal`е это так:

    Var
    Key : char;
    …………
    Key:= readkey;

    If key =#13 then …
    А что в C++ (3.1.) поэтому поводу ?
      ты с клавиатуры считываешь char.
      номера клавишь = аналогичные Паскалю.

      char a;
      cin>>a;
      if(a == 13)
      {
      //todo something;
      }
        Спасибо, а как код клавиши узнать(any key)?
          От 0 до 255 наверно на то и any

          ...
            char a;
            cin>>a;
            do something;
          ...

          Или я чо-то недогоняю(тоды звыняй)
            dimedrol

            char a;
            cin>>a;
            do something;
            ...
            А это "a" должен содерзать код клавиши, ну пр. 13(Enter). НУ, а как мне его узнать с помощью какой функции. ( Я не имею ввиду if (a == 13) ...
              Ну например в windows есть много констант в стиле VK_RETURN или VK_SPACE

              #include <WINDOWS.H>
              #include <conio.h>

              int main()
              {
              int a;
              a=getch();;
              if(a==VK_SPACE)
               cout<<"Space";
              if(a==VK_RETURN)
               cout<<"Return";
              //Это чо б результат увидеить
              cin>>a;
              return 0;
              }

              Ну а можешь сам эспирически эти коды вычислить и наклепать констант

              Добавлено в
              Ну например в windows есть много констант в стиле VK_RETURN или VK_SPACE

              #include <WINDOWS.H>
              #include <conio.h>

              int main()
              {
              int a;
              a=getch();;
              if(a==VK_SPACE)
               cout<<"Space";
              if(a==VK_RETURN)
               cout<<"Return";
              //Это чо б результат увидеить
              cin>>a;
              return 0;
              }

              Ну а можешь сам эмпирически эти коды вычислить и наклепать констант

              Добавлено в
              Это чо то IE глючит biggrin.gif wink.gif
                Спасибо biggrin.gif
                smile.gif
                Вот ещё список этих констант, тогда, совсем хорошо будет.
                Заранее благодарю.
                Сообщение отредактировано: Kola -
                  Составь этот список для себя сам. Считывай код клавиши при помощи getch()или cin и записывай на бумажку, какая клавиша, какой код возвращает. А еще можно просто в справочнике по инету найти.
                    По поводу кодов. Нетривиальные коды только у клавиш типа F1-F12, клавиш управление курсором и доп. клавиатуры (с отключенным NumLock). У интересующего тебя Enter'a код '\n' (13), а Esc - '\x1a' (26). Коды основных клавиш совпадают с надписями на них учитывая состояние клавиш Shift и Caps Lock. С нажатыми Ctrl или Alt ситуация такая же как и с функциональными клавишами - коды сложные (двухсимвольные). Первый getch вернет тебе 0, а второй - код клавиши.
                      Спасибо Всем biggrin.gif
                        См. сюды http://netlib.wallst.ru/library/book0005/app1_05.htm
                        или сюды http://labwork.by.ru/book/xiii02.htm
                        и тут полезно http://lik-bezzz.narod.ru/kb_kodS.htm
                        Сообщение отредактировано: DrUnkard -
                          Может просто нажать и посмотреть
                            > Может просто нажать и посмотреть
                            Из - под стола. biggrin.gif
                              Ну хатябы в деббугере. Или дампись в файл.
                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                              0 пользователей:


                              Рейтинг@Mail.ru
                              [ Script execution time: 0,0334 ]   [ 16 queries used ]   [ Generated: 3.05.24, 04:09 GMT ]