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

Вернуться   Форум программистов > Клуб программистов > Обсуждение статей
Регистрация

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



Ответ
 
Опции темы
Старый 09.11.2015, 05:00   #1
Pblog
Бот
Администратор
 
Регистрация: 27.05.2007
Адрес: Филадельфия
Сообщений: 182
Репутация: 156
По умолчанию статья - КЛАВИАТУРА

КЛАВИАТУРА

Для начала маленький код для определения нажатия клавиши Print Screen:

Код:

 private procedure AppIdle(Sender: TObject; var Done: Boolean); 
 procedure TForm1.AppIdle(Sender: TObject; var Done: Boolean);
  begin
   if GetAsyncKeyState(VK_SNAPSHOT) <> 0 then
     Form1.Caption := ‘PrintScreen!’; Done := True;
  end;

  procedure TForm1.FormCreate(Sender: TObject);
   begin
    Application.OnIdle := AppIdle;
   end;

А теперь программный аналог Print Screen’а:

procedure TForm1.Button1Click(Sender: TObject);

var [...]

Последний раз редактировалось Вадим Мошев; 10.11.2015 в 14:49.
Pblog вне форума   Ответить с цитированием
Старый 09.11.2015, 13:08   #2
zvygin1964
Троль, флудёр
Профессионал
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Адрес: Потресово Калужской_области Репутация: 10
Сообщений: 1,752
Репутация: 1288
По умолчанию

Спасибо !
__________________
Не программист вообще.
zvygin1964 вне форума   Ответить с цитированием
Старый 09.11.2015, 13:27   #3
Utkin
Профессионал
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Адрес: DuckBurg
Сообщений: 18,597
Репутация: 3930
По умолчанию

Цитата:
Спасибо !
Pblog это робот. Спасибо говорите админу форума или тому кто организовал этот процесс
__________________
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума   Ответить с цитированием
Старый 09.11.2015, 14:02   #4
zvygin1964
Троль, флудёр
Профессионал
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Адрес: Потресово Калужской_области Репутация: 10
Сообщений: 1,752
Репутация: 1288
По умолчанию

Именно так. Спасибо робот. Спасибо Алар. Спасибо тому, кто организовал этот процесс. Сам бы эту статью не нашёл. А так на глаза попалась... Спасибо.
__________________
Не программист вообще.
zvygin1964 вне форума   Ответить с цитированием
Старый 10.11.2015, 20:25   #5
zvygin1964
Троль, флудёр
Профессионал
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Адрес: Потресово Калужской_области Репутация: 10
Сообщений: 1,752
Репутация: 1288
По умолчанию

Проверка свечения диодов на клавиатуре не работает.
Работает если:
Код:

procedure TForm1.Button2Click(Sender: TObject);
var
X: integer;
begin
   // x – integer. X = 145 = Scroll Lock; X = 144 = Num Lock; X = 20 = Caps Lock
X := 20; //инициализируем переменную на определение нужной кнопки
if GetKeyState(X) and 1 = 0 then
Form1.Caption := 'Не горит'  //исправлены верхние штуковины-кавычки  " ' "
else
Form1.Caption := 'Горит';
end;

Коды виртуальных клавиш не заработали, наверно только у меня:
Код:

procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
   SendMessage(Memo1.Handle,WM_CHAR,Ord('A'),0);
end;

Сообщение:
Debugger Exception Notification
---------
Project Project1.exe raised exception class EStackOverflow with message 'Stack overflow'. Process stopped. Use Step or Run to continue.
__________________
Не программист вообще.
zvygin1964 вне форума   Ответить с цитированием
Старый 10.11.2015, 20:32   #6
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 16,827
Репутация: 5909
По умолчанию

WM_CHAR посылает Memo1 символ. Коль стек переполняется, значит обработка WM_CHAR вызывает срабатывание OnKeyPress и так по кругу. Рекурсия, она такая
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 12.10.2017, 21:53   #7
dummy_user
Форумчанин
 
Аватар для dummy_user
 
Регистрация: 02.03.2013
Адрес: Сибирь
Сообщений: 109
Репутация: 27

skype: raw_2_raw
По умолчанию

Ещё свойство KeyPreview нужно выключить.
dummy_user вне форума   Ответить с цитированием
Ответ



Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ и клавиатура Павел Буров Помощь студентам 3 24.03.2015 18:57
Клавиатура Garmon Assembler 3 02.10.2012 09:14
Клавиатура 0creator0 Microsoft Office Word 6 02.10.2011 19:14
клавиатура kaljan775 Общие вопросы C/C++ 2 23.11.2010 02:48
Клавиатура zumm Паскаль 12 27.06.2010 11:16




16:27.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


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

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru