Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/26: Рейтинг темы: голосов - 26, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 07.07.2012
Сообщений: 15

Движение пока нажата клавиша Delphi 7

14.07.2012, 18:46. Показов 5315. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуста как сделать в delphi 7 движение объекта пока нажата клавиша (Например нажал клавишу "D" и shape сдвигается в право, отжал клавишу, и shape остановится), нужна только проверка на зажатие
Всем спасибо за любую помощь =)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.07.2012, 18:46
Ответы с готовыми решениями:

если нажата клавиша
привет всем. как сделать так, чтобы при нажатии на любую клавишу на клавиатуре - программа выдавала нам сообщение: "нажата...

Нужно определить нажата ли клавиша?
Надо определить какая из сист. кнопок была нажата . теF1-f7,shift,enter и т.д. Помогите плеазе!!!!

Определить, какая клавиша Shift нажата: левая или правая
Уважаемые программисты нужна ваша помощь в написании программы. Она должна выводить сообщение о том какая клавиша Shift нажата: левая или...

11
Почетный модератор
 Аватар для Puporev
64312 / 47609 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
14.07.2012, 19:21
Delphi Скопировано
1
2
3
4
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key='D' then Shape1.Left:=Shape1.Left+5;
end;
0
0 / 0 / 0
Регистрация: 07.07.2012
Сообщений: 15
14.07.2012, 19:28  [ТС]
Не работает =(
0
Почетный модератор
 Аватар для Puporev
64312 / 47609 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
14.07.2012, 19:30
С какой стати? У меня работает. Жми именно клавишу D, а не d,в,В
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33138 / 21432 / 8221
Регистрация: 22.10.2011
Сообщений: 36,753
Записей в блоге: 9
14.07.2012, 19:33
KeyPreview формы выставлено в True? Тогда должно работать.
0
0 / 0 / 0
Регистрация: 07.07.2012
Сообщений: 15
14.07.2012, 19:33  [ТС]
Понятия не имею, все комбинации перепробовал =(((
0
Почетный модератор
 Аватар для Puporev
64312 / 47609 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
14.07.2012, 19:35
Ты весь мой код скопировал или инициировал событие OnkeyPress в инспекторе оюбъектов для формы?
0
0 / 0 / 0
Регистрация: 07.07.2012
Сообщений: 15
14.07.2012, 19:36  [ТС]
Заработало, действительно KeyPreview фальс стоял =))) а как убрать задержку нажатия? ну как залипание, вроде, например движение без задержек, не лазя в настройки клавы панели управления???
0
Почетный модератор
 Аватар для Puporev
64312 / 47609 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
14.07.2012, 19:38
Цитата Сообщение от Geonix Посмотреть сообщение
а как убрать задержку нажатия?
В каком смысле? Что тебе нужно?
0
0 / 0 / 0
Регистрация: 07.07.2012
Сообщений: 15
14.07.2012, 19:40  [ТС]
Извините за таки странные вопросы=)
Так вот, когда я зажимаю клавишу d, shape движится 1 раз и через время движится постоянно, нужно чтоб он сразу постоянно двигался, как такое сделать?
0
Почетный модератор
 Аватар для Puporev
64312 / 47609 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
14.07.2012, 19:41
Так ты же написал
Цитата Сообщение от Geonix Посмотреть сообщение
движение объекта пока нажата клавиша
я так и сделал.
0
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
14.07.2012, 20:44
Там в настройках клавиатуры есть задержка перед началом повтора. Потом идёт автоповтор и получаются, как бы, повторные нажатия согласно скорости повтора из тех же настроек. Можно использовать таймер и следующий код. Тогда те параметры не играют роли.
Delphi Скопировано
1
2
3
4
5
6
7
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  If GetAsyncKeyState(Ord('D'))<>0 Then
  Shape1.Left:=Shape1.Left+5; //По "D" - влево (маленькая или большая - неважно)
  If GetAsyncKeyState(Ord('A'))<>0 Then
  Shape1.Left:=Shape1.Left-5; //По "A" - влево
End;
Timer.Enabled - установить в True и Timer.Interval - можно 5 (или экспериментируй).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.07.2012, 20:44
Помогаю со студенческими работами здесь

пока нажата кнопка. !
Имеются допустим 2 кнопки на каждую из них при нажатии выполняется действие . Проблема заключается в том что когда нажата одна ,А в то...

Действие пока нажата кнопка
Всем привет, у меня такой вот вопрос. Как сделать проверку на нажатую кнопку на клавиатуре? Действие будет выполнятся до тех пор, пока...

Пока кнопка не нажата выполнять действия
Хочу реализовать скрытие меню в программе, пока не нажата кнопка авторизации. Понимаю, что нужно прописать через while, то есть пока не...

Ждать, пока нажмется другая клавиша, кроме Shift
Проблема такая. В сочетании с клавишей Shift есть несколько клавиш, при нажатии которых выполняются различные функции. Но проблема KeyDown...

Как узнать, нажата ли сейчас клавиша ctrl, alt или winkey?
Я сделал программу, которая набирает текст, введенный в эту программу, эмитируя нажатия на клавиатуре (для копипаста туда, где копипаст не...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
Реализация конвейеров машинного обучения с Python и Scikit-learn
AI_Generated 23.04.2025
Мир данных вокруг нас растёт с каждым днём, и умение эффективно обрабатывать информацию стало необходимым навыком. Специалисты по машинному обучению ежедневно сталкиваются с задачами предобработки. . .
Контроллеры Kubernetes Ingress: Сравнительный анализ
Mr. Docker 23.04.2025
В Kubernetes управление входящим трафиком представляет собой одну из ключевых задач при построении масштабируемых и отказоустойчивых приложений. Ingress — это API-объект, который служит вратами. . .
Оптимизация кода Python с Cython и Numba
py-thonny 23.04.2025
Python прочно обосновался в топе языков программирования благодаря своей простоте и гибкости. Разработчики любят его за читабельность кода и богатую экосистему библиотек. Но у этой медали есть и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер