![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 14.03.2010
Сообщений: 18
|
![]()
Доброго времечка. Ребята есть вопрос по созданию синтезатора. Я столкнулся вот с такой проблемой:
При привязке клавиш к кнопкам, обнаружил, что когда я выставляю значение, допустим: Код:
Я понял так, что если мы не описали клавишу, автоматом no:=0, а после когда нажал описанную клаву, неописанная просто обезьяничает эту нотку. Подозреваю дело в отправке миди по нажатии на клаву: Код:
----- И ещё как мне сделать так ,чтобы играли клавиши Z X C V B и т.д вместо противных 1 2 3 4... Я описывал коды клавиш в процедуре FormKeyPress и в десятичном, и в символьном ... хотелось бы чтобы показали как грамотно всё делать.) Тема очень интересная, и думаю, что каждый может хоть что-нибудь предложить, посоветовать.) Я только учусь, стараюсь как могу.) Заранее спасибо, буду благодарен за ценную информацию.) |
![]() |
![]() |
![]() |
#2 | |
Участник клуба
Регистрация: 28.11.2007
Сообщений: 1,521
|
![]()
В общем ориентируйтесь на переменную var Key: Word;.
Код:
Цитата:
Код:
Всегда рад помочь!
|
|
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 12.08.2008
Сообщений: 135
|
![]() Цитата:
в начале процедуры FormKeyPress обнулите N.
Будь проще, бери пример с одноклеточных
![]() |
|
![]() |
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 14.03.2010
Сообщений: 18
|
![]()
Спасибо за информацию, вот покопавшись в интернетном мусоре нашёл это:
Код:
И ещё какой из этих способов наиболее оптимальный? Цитата:
Последний раз редактировалось Dancewithevil; 18.05.2010 в 00:48. |
|
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 28.11.2007
Сообщений: 1,521
|
![]()
На мой взгляд, чтобы Вам не путаться напишите отдельную функцию или процедуру воспроизведения файлов и потом вызывайте её из обработчиков событий
Код:
Всегда рад помочь!
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 14.03.2010
Сообщений: 18
|
![]()
А вы часом не знаете что это за штука такая?) $7f3080 и $7f3090?
У меня ещё проблемы... Мне надо зажать две клавиши и более одновременно, больше всего в этом деле понравилась SpeedButton, описываю путём KeyDown и KeyUp, компилирую, запускаю нажимаю, всё работает. Когда я в другой запускаю, нажимаю две ... А она сначала зажмётся одна, потом вторая с отстованием... Как бы этого можно было избежать? Последний раз редактировалось Stilet; 18.05.2010 в 07:53. |
![]() |
![]() |
![]() |
#7 | ||
Участник клуба
Регистрация: 28.11.2007
Сообщений: 1,521
|
![]() Цитата:
Цитата:
Всегда рад помочь!
Последний раз редактировалось Terran; 18.05.2010 в 01:54. |
||
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 14.03.2010
Сообщений: 18
|
![]()
Уважаемый Terran а вы согли бы привести пример, а то не догнал.)
Последний раз редактировалось Dancewithevil; 18.05.2010 в 07:49. |
![]() |
![]() |
![]() |
#9 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
Она будет срабатывать всегда судя по коду. Рекомендую переместить все проверки в FormKeyDown а про FormKeyPress забыть. Цитата:
Код:
I'm learning to live...
|
|||
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 14.03.2010
Сообщений: 18
|
![]()
Вроде бы в основном разобрался, но с двумя клавишами так не получилосЬ?
и поподробней объяснить с (GetKeyboardState,GetAsyncKeyState, GetKeyState). Как их правильно описывай, какой формат и т.д procedure TMainForm.FormKeyDown(Sender: TObject; var Key: какую перененную; Shift: TShiftState); |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с горячими клавишами | Marsik | Общие вопросы Delphi | 10 | 26.02.2010 17:21 |
перемещение компанента клавишами | include | Общие вопросы Delphi | 11 | 13.08.2009 12:43 |
Проблема с горячими клавишами | InsaniaF | Microsoft Office Word | 4 | 21.05.2009 11:37 |
Движение обьекта клавишами в с++ | Grizzzli | Помощь студентам | 2 | 05.04.2009 12:43 |
Перемещение кнопки клавишами | Wolfic | Помощь студентам | 15 | 16.10.2007 17:41 |