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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2010, 21:40   #1
Brian Spilner
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 14
По умолчанию "фиксатор нажатия клавиши" в паскале

Здравствуйте. Не могу найти информации относительно реализации фиксирования нажатия клавиши.
Т.е. например как реализовать детектор нажатия клавиши? Например вводим "нажмите клавишу "s"", и дальше, если была нажата клавиша S - то одно действие, а если не S - то другое. Можно ли вообще такое сделать???
Заранее спасибо.
Ну что-то типа:
Код:
writeln(' Нажмите клавишу "S"');
 if (проверка что было нажато "S") then
  begin
   действие 1;
  end;
 else
действие 2;

Последний раз редактировалось Stilet; 03.08.2010 в 08:43.
Brian Spilner вне форума Ответить с цитированием
Старый 02.08.2010, 21:47   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Код:
key := Readkey;
if key = 's' then {ваше действие]
else {что-то другое}
можете сделать через case меню!!!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 02.08.2010, 21:50   #3
creator32
Пользователь
 
Регистрация: 13.11.2008
Сообщений: 18
По умолчанию

GETCH

это тебе в помощь. считываешь этой функцией введенный символ, а потом организуешь простую проверку (ну как ты и писал)
creator32 вне форума Ответить с цитированием
Старый 02.08.2010, 21:51   #4
Federal
Пользователь
 
Регистрация: 21.05.2010
Сообщений: 77
По умолчанию

Не лучший вариант решения
Цитата:
var
f:string;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
f:=Inttostr(ord(key));
if f=83 then
begin
блаблабла
end;
else
begin
блаблабла
end;
end;

end.
Federal вне форума Ответить с цитированием
Старый 02.08.2010, 21:53   #5
Brian Spilner
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 14
По умолчанию

Огромнейшее спасибо ВСЕМ!!!!!!
Brian Spilner вне форума Ответить с цитированием
Старый 20.08.2010, 14:36   #6
lowercase
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 88
По умолчанию

подскажите как проверить какое значение имеет пременая Shift?
например.. я хочу определить сочетание клавиш Ctrl + Backspace...

Код:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if ( { что тут надо написать для проверки значения Shift?}  ) and (key = 8) then
       // key = 8 это код клавиши Backspace
    .......................
end;
lowercase вне форума Ответить с цитированием
Старый 20.08.2010, 14:44   #7
GoodDA
фрилансер
Форумчанин
 
Аватар для GoodDA
 
Регистрация: 18.07.2008
Сообщений: 107
По умолчанию

для lowercase

Код:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;  Shift: TShiftState);
begin
 if (ssShift in Shift) and (key=8) then  showmessage('ok');  ///сочетание  SHIFT+Backspace
end;
GoodDA вне форума Ответить с цитированием
Старый 20.08.2010, 14:45   #8
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

GetKeyState(VK_SHIFT)
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 20.08.2010, 14:49   #9
lowercase
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 88
По умолчанию

Цитата:
Сообщение от GoodDA Посмотреть сообщение
для lowercase

Код:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;  Shift: TShiftState);
begin
 if (ssShift in Shift) and (key=8) then  showmessage('ok');  ///сочетание  SHIFT+Backspace
end;
спасиб большое! оч помог.. только мне надо было не ssShift a ssCtrl.. но это не главное.. принцып опредиления я понл ))))
еще раз спасиб)
lowercase вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
Как обрубить все "ненужные" клавиши в меню программы. Ветас Паскаль, Turbo Pascal, PascalABC.NET 6 26.10.2009 18:01
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
"Поймать" событие нажатия на кнопку Lisi4ka Общие вопросы Delphi 12 27.04.2009 18:14