Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подобие написания/выполнения скрипта


midikey ©   (2010-01-19 12:35:00) 

Имеется программа, которая принимает midi-команды . При определенном значении, должно сработать выполнение команды:

if d1=0 and d2=0 then
begin
{некий код}
end

Допустим имеется обычный Memo1. В нем написано: "up down left right" .

программа должна считать каждое слово и выполнить определенную команду.

в стиле:
if слово='up' then <процедура1>
if слово='down' then <процедура2>

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

алгоритм:
midi-команда -> выполнить набор команд, прописанных в memo1


  (2010-03-10 09:19:00) [1]

Удалено модератором


NiGGa   (2010-01-21 05:07:00) [2]

ах ну да
что-то на подобие Pascal Script или реализацию скрипта в фаст репорте и т.д.


NiGGa   (2010-01-21 05:06:00) [3]

если я правильно понял, то стоит посмотреть в сторону существующих скрипт реализаций


Сергей М.   (2010-01-20 12:58:00) [4]


> ableton так контроллирую


А что, этот самый эблтон разве не предоставляет интерфейс удаленного управления своими функциями с использованием миди-контроллеров ?

Тогда это несерьезное ПО, если к нему еще и прокладки нужно собственноручно изобретать)


Юрий Зотов   (2010-01-19 17:15:00) [5]

> midikey   (19.01.10 14:20) [3]

Если команду загонять в Objects, то все становится проще:  

for i:=0 to m.Lines.Count - 1 do
 PostKeyEx32(m.Lines.Objects[i], [], False);


midikey   (2010-01-19 14:20:00) [6]

преобразование миди-команд в клавиатурные

нажал кнопку на миди-контроллере - выполнилась определенная комбинация на обычной клавиатуре. ableton так контроллирую.

вобщем использовал построчное чтение:

for i:=0 to m.Lines.Count do
begin
s:=m.Lines.Strings[i];
s:=UpperCase(s);

if s='UP' then PostKeyEx32(VK_UP, [], False);
if s='DOWN' then PostKeyEx32(VK_DOWN, [], False);
if s='LEFT' then PostKeyEx32(VK_LEFT, [], False);
if s='RIGHT' then PostKeyEx32(VK_RIGHT, [], False);

вроде работает :)


Сергей М.   (2010-01-19 14:11:00) [7]

Стесляюсь спросить, каким боком слова "up down left right" касаются MIDI-протокола ?


midikey   (2010-01-19 12:50:00) [8]

кажется понял, проще будет делать выполнение построчно


Наверх

Титульная страница Поиск, карта сайта Написать письмо