Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 46

Привязка к клавишам

22.03.2014, 20:05. Показов 3789. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет.
Как в ABC.NET осуществляются действие на клавиши? Мне нужны стрелки влево, вправо, спайс ... Пробовал через keypressed и readkey что-то не получается...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.03.2014, 20:05
Ответы с готовыми решениями:

Привязка графических объектов к клавишам
Здраствуйте. Скиньте пожалуйста ссылку на учебники связаные с привязкой клавиш к графическим элементам

Коды к клавишам
Извините если этот вопрос задавался. Мне надо в Eclipse в Ubuntu под gcc узнать коды клавиш 'F1' 'LEFT_ARROW' 'PAGE_UP' и т.д. К чему...

Действие по клавишам
Привет еще раз.объясните пожалуйста как выполняется действие по нажатой клавише.Спасибо.

7
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
22.03.2014, 20:45
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
uses graphABC;
var x,y,r:integer;
    f:boolean;
procedure KeyDown(key:integer);
begin
case key of
vk_up:if y>r then y:=y-5;
vk_down:if y<windowheight-r then y:=y+5;
vk_left:if x>r then x:=x-5;
vk_right:if x<windowwidth-r then x:=x+5;
vk_space:f:=false
end;
end;
begin
x:=windowwidth div 2;
y:=windowheight div 2;
f:=true;
r:=15;
textout(windowwidth div 2-80,0,'Управление стрелками');
textout(windowwidth div 2-50,20,'Выход - Esc');
setpenwidth(3);
setpencolor(clRed);
circle(x,y,r);
lockdrawing;
repeat
clearwindow;
textout(windowwidth div 2-80,0,'Управление стрелками');
textout(windowwidth div 2-50,20,'Выход - Spase');
OnKeyDown := KeyDown;
circle(x,y,r);
sleep(100);
redraw;
until f=false;
end.
0
0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 46
22.03.2014, 20:46  [ТС]
А если например на спайс "запуск луча", то если я нажму спайс то уже двигаться стрелками не смогу?
0
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
22.03.2014, 20:48
В моем примере нет, пиши свои события на нажатия клавиш
1
0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 46
22.03.2014, 20:51  [ТС]
А как такие событие писать?

Добавлено через 2 минуты
Можно хотя-бы один какой-то самый простенький пример, дальше я уже сам

У меня загвоздка просто на том, что когда я запускаю луч то не могу двигаться пока луч не дойдет до цели
0
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
22.03.2014, 20:55
Так кроме KeyDown есть и другие событийные процедуры, почитай хоть справку. Луч можно запускать по другой процедуре, например MouseUp, по отпусканию клавиши.
0
0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 46
22.03.2014, 21:05  [ТС]
Хмммм, ну как это правильнее реализовать? Например в моем в теле стоит вот так
OnKeyDown:=Strelki;
А далее идет эта процедура

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure Strelki(klavisha:integer);//управление стрелками
var w:integer; 
begin
w:=390;
if klavisha=VK_Left then gorizontal:=gorizontal-15
else if klavisha=VK_Right then  gorizontal:=gorizontal+15;
 
if klavisha=VK_Space then begin
m:=Picture.Create('luch.png');
repeat
m.Draw(gorizontal+25,w);
 dec(w); 
sleep(2);
until w=0;
end;
end;
А если например сделать отдельно, две события
OnKeyDown:=Strelki;
OnKeyDown:=Luch;
То будет работать только луч, по сути логично. Мне же нужно что-бы именно на space он запускался.

Добавлено через 3 минуты
А если вот так
OnKeyDown:=Strelki;
OnKeyUp:=Luch;

То тоже он останавливается

Добавлено через 1 минуту
Потому что там же цикл отправляет луч...
0
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
22.03.2014, 21:11
Ну тогда я не знаю это.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.03.2014, 21:11
Помогаю со студенческими работами здесь

Вопрос по горячим клавишам
Здраствуйте Ув. программисты, у меня 2 вопроса: Мне нужно чтобы при нажатии на кнопку (ентер) делалось какое-нибудь действие. 1. Как...

Анимация привязанная к клавишам
Всем ку. Надо залить цвета:поле сделать зелёным, дорогу серой, и небо голубым(skyblue). У меня ето сделать не получается, если задаю...

Активация функции по клавишам
Здравствуйте! подскажите как сделать так, чтобы функция активировалась по клавишам? Например мне нужно чтобы по клавиши F1 закрывалась...

Активация функции по клавишам
Как сделать так, чтобы функция активировалась по нажатию клавиши, например F5 ?

Анимация привязанная к клавишам
Добрый день. Я сделал робота но нужно сделать так чтобы при нажати клавиш:влево, вправо, вниз, вверх на клавиатуре робот перемещался на шаг...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru