Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Lazarus, Free Pascal, CodeTyphon
Регистрация

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

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 19.06.2019, 11:49   #1
camac
Пользователь
 
Регистрация: 28.07.2011
Сообщений: 11
По умолчанию Считать комбинацию клавиш.

Бодрого дня, господа.
Подскажите, пожалуйста, как в программе можно считать комбинацию клавиш? Т. е., например, Ctrl+N, Alt+Q и прочая.
При этом в то же самое время может быть и только одна клавиша, например, F1 или F2 и т. д.

PS. FreePascal.
camac вне форума   Ответить с цитированием
Старый 19.06.2019, 11:59   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,214
По умолчанию

сходите по ссылкам:
https://forum.lazarus.freepascal.org...?topic=33028.0
https://www.freepascal.org/docs-html...tkeyevent.html
https://forum.lazarus.freepascal.org...?topic=36590.0


например,
Код:
program example1;

{ This program demonstrates the GetKeyEvent function }

uses keyboard;

Var
  K : TKeyEvent;

begin
  InitKeyBoard;
  Writeln('Press keys, press "q" to end.');
  Repeat
    K:=GetKeyEvent;
    K:=TranslateKeyEvent(K);
    Write('Got key event with ');
    Case GetKeyEventFlags(K) of
      kbASCII    : Writeln('ASCII key');
      kbUniCode  : Writeln('Unicode key');
      kbFnKey    : Writeln('Function key');
      kbPhys     : Writeln('Physical key');
      kbReleased : Writeln('Released key event');
    end;
    Writeln('Got key : ',KeyEventToString(K));
  Until (GetKeyEventChar(K)='q');
  DoneKeyBoard;
end.
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 19.06.2019, 12:07   #3
camac
Пользователь
 
Регистрация: 28.07.2011
Сообщений: 11
По умолчанию

Я прошу прощения - не совсем точно или совсем не точно я выразился.
Необходимо на разные клавиши/сочетания клавиш "навесить" разные действия.
camac вне форума   Ответить с цитированием
Старый 19.06.2019, 12:40   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,214
По умолчанию

Цитата:
Сообщение от camac Посмотреть сообщение
Необходимо на разные клавиши/сочетания клавиш "навесить" разные действия.
приложение с формами?
Тогда лучше использовать TAction (см. например, https://forum.lazarus.freepascal.org...?topic=19912.0)

либо банально, по старинке, на форму обработчик onKeyPress
и в нём проверять нажатую клавишу и состояние флагов.
дальше if или case и запускайте нужную процедуру в зависимости от нажатого кода

если речь идёт о приложении без форм, то тогда используйте GetKeyEvent
и далее if или case и запускайте нужную процедуру в зависимости от нажатого кода

p.s. вы по ссылкам вообще ходили? Примеры кода на форуме смотрели?
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 19.06.2019, 13:00   #5
camac
Пользователь
 
Регистрация: 28.07.2011
Сообщений: 11
По умолчанию

Программулина консольная. Вообще ваяю в Линуксе. Но и Виндовс не исключен.
Т. к. с английским, как и с китайским - будем потихоньку вникать.

PS. Для прояснения ситуации. Я престарелый гуманитарий. Паскаль взялся изучать по книжкам и форумам. Будет чем мозги на пенсии "разминать" - пописывать что-то для себя в стол.
Поэтому, если сможете изредка помочь/разжевать, как для тупого, буду благодарен.
camac вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как в c++ считать с файла строку и загнать ее в переменную? что-б можно было считать 3-ю 4-ю и тд строки отдельно НАЧИНАЮЩИЙ_ПРО Помощь студентам 1 15.03.2017 17:28
Замена символов на другие или комбинацию клавиш на VBA ArchiCurtis Помощь студентам 7 14.02.2015 04:45
Сохранить строку при выделении и нажатии комбинацию клавиш 4oldo Microsoft Office Excel 1 08.07.2014 20:37
Составить комбинацию цифр из массива Artsiom Помощь студентам 6 05.12.2013 23:19
Хук на комбинацию W0LF Win Api 9 26.07.2009 10:33


08:25.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.