PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Разработка программ > Программы управления > LeoCar

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2007, 14:15   #1
LI()n
Творец LeoCar'a
 
Аватар для LI()n
 
Регистрация: 28.03.2007
Город: Москва
Регион: 77, 97, 99, 177
Машина: LeoCar GT-Four Turbo и Рыжий Элемент
Сообщений: 747
LI()n is a jewel in the roughLI()n is a jewel in the roughLI()n is a jewel in the rough
По умолчанию Создание макросов на примере Руссы

Как и обещал, пишу мануал по созданию макросов

Допустим, вы решили добавить в ЛеоКар возможность работы с новой навигационной программой. Пусть это будет Русса.

Сначала нам надо открыть Редактор Макросов


Кликаем по кнопке Run


И нажимаем кнопку Редактора Макросов на Панели Инструментов


Как видно, программы Русса еще нет в списке программ пользователя слева (если бы она там была, то мы могли бы просто отредактировать ее параметры). Сейчас там только Notepad и Озик.
Кликаем по кнопке "Добавить программу"


Откроется список программ, выполняемых в настоящий момент. Если Русса есть в этом списке (если мы запустили ее до этого), то выбираем ее, иначе нажимаем кнопку Отмена


И выбираем ее вручную.


ЛеоКар запустит выбранную программу.
Внимание! Один из самых ответственных моментов при написании макроса!
Дождитесь полной загрузки программы и появления ее главного окна (то окно, с которым мы впоследствии будем работать). Например, Озик при запуске в течение трех секунд показывает свой стартовый экран с названием программы, а уже только после этого с ним можно работать.
Итак, программа полностью загрузилась. Теперь нажимаем кнопку ОК и БЫСТРО, В ТЕЧЕНИЕ ТРЕХ СЕКУНД активируем ГЛАВНОЕ ОКНО ПРОГРАММЫ! Лучше всего кликать именно по заголовку главного окна, а не выбирать его в Панели Задач Виндовс.


Редактируем заголовок окна, по которому ЛеоКар будет определять, что программа нормально запустилась. Если после запуска он не найдет окно с таким заголовком, то будет сообщать об ошибке и попытается заново настроить программу. Заголовок должен быть "универсальным" - например, если Блокнот открывает какой-то файл, то его заголовок окна меняется на "Документ 1 - Блокнот". Так вот, если ввести такой заголовок, а потом блокнотом открыть файл "Документ 356 - Блокнот" - то для ЛеоКара это будут совершенно разные программы (так как название окон у них разное). Чтобы избежать этого, нужно указать заголовок программы как " - Блокнот" - наиболее универсальная строка, которая присутствует всегда в названии окна (и в первом, и во втором примере).


Готово! Программа добавлена и присутствует в списках.


1. Тестируем программу, нажав кнопку "Запуск". Если все сделано правильно, ЛеоКар активирует окно программы и расположит его, как показано на экране.
2, 3. Для изменения параметров окна при запуске и при переключении на другую программу (или выходе) пользуемся соответствующими списками. При изменении вариантов внизу окна будут отображены подсказки, какой вариант что делает, там все просто.
4. Некоторые программы (тот же Озик) грузятся достаточно долго. Указываем в текстовом поле, сколько надо ждать полной загрузки программы (для Озика у меня стоит число 5000).


Итак, программу мы добавили, теперь надо добавить кнопки для нее на Панели Инструментов. Как видим, ни одной кнопки пока нет, и Панель Инструментов пустая.


Допустим, мы решили добавить кнопки "Приблизить" и "Отдалить". Они доступны на панели инструментов в верхней части программы (см. скриншот). Создаем новую кнопку с номером один. Щелкаем по кнопке "Новая".


Выбираем иконку для кнопки Приблизить


И вводим короткое описание для кнопки.
Внимание! При создании кнопок для программы навигации (то, что мы делаем сейчас) рекомендуется использовать ИМЕННО следующие названия:
Поиск, Избранное, Закладки, Отменить маршрут, Приблизить, Отдалить, Сопровождение GPS.
Тогда ЛеоКар сможет корректно управлять внешней картой самостоятельно при необходимости. Для других программ (не навигации) можно вводить любые другие названия.


1. Готово! Мы добавили новую кнопку!
2. Теперь нам нужно, чтобы при нажатии на нее ЛеоКар кликал по кнопке "Приблизить" в верхней части окна Руссы.
3. Для этого выбираем действие MouseClickAt и щелкаем по кнопке "+" (Добавить команду)


Нажимаем кнопку ОК в окне сообщения и БЫСТРО помещаем курсор, чтобы он ОКАЗАЛСЯ НАД иконкой приближения Руссы (в верхней части программы, см. скриншот). Ждем, пока окно редактора автоматически появится.


У нас добавилась новая команда в текстовом поле макроса - "MouseClickAt 27,60". 27,60 - это координаты Х и У относительно окна Руссы. То есть курсор сначала будет перемещен туда (это прямо над кнопкой "Приблизить", как мы указывали), а затем ЛеоКар кликнет мышью в этой точке.
Чтобы проверить, работает ли наш макрос, кликаем на кнопку "Тест".
Все замечательно работает, Русса приближает масштаб!


Точно так же добавляем вторую кнопку "Отдалить" - только теперь мышью надо кликать по другой кнопке на панели инструментов Руссы.


Теперь сделаем что-нибудь посложнее, например, открытие окна Поиска объектов.
Для этого нужно сначала кликнуть по пункту меню "Инстументы" на окне Руссы. Используем все тот же MouseClickAt.
Теперь, чтобы выделить пункт "Найти" в появившемся меню, нужно семь раз нажать кнопку "Вниз" на клавиатуре. Говорим ЛеоКару, что он должен делать то же самое.
1. Выбираем действие KeyPress, а клавишу в списке ниже - Down
2. Добавляем это действие (нажимаем кнопку "+") семь раз - именно столько раз надо нажать кнопку "Вниз"
3. Проверяем наш макрос, нажав Тест
4. ЛеоКар должен открыть меню "Инструменты" и выделить пункт "Найти"


Теперь, чтобы перейти к следующему меню, нужно нажать кнопку Вправо. Делаем все то же самое.
1. Выбираем действие KeyPress, а клавишу в списке ниже - Right
2. Добавляем это действие (нажимаем кнопку "+") и проверяем наш макрос, нажав Тест
3. ЛеоКар должен открыть меню "Инструменты", выделить пункт "Найти" и открыть следующее меню с поиском.


Чтобы выделить пункт "Объекты в населенных пунктах", нажимаем Вниз еще три раза. Все то же самое.


Подтверждаем наш выбор нажатием Ентера.
1. Действие KeyPress и клавиша Enter
2. Тестируем
3. Если все сделано как надо, то появится окно поиска!


Но че-то как-то криво оно появилось... Не нравится его позиция - и не в центре экрана, и не в углу вроде... В общем, где захотело - там и появилось. Исправляем это.
Прежде чем что-то делать с окном Поиска, ЛеоКар должен дождаться его появления на экране. Для этого выбираем действие Sleep и добавляем его. ЛеоКар спросит, сколько времени стоит ждать. Я указал значение "1000" миллисекунд - одну секунду.
На практике это означает, что после предыдущего действия (нажатие Ентера для выбора пункта меню) ЛеоКар подождет одну секунду (окно поиска в это время как раз успеет загрузиться), а только после этого будет делать дальше остальные действия.


Мы хотим перенести окно поиска в левый верхний угол окна Руссы.
1. Выбираем действие MoveActiveWindow
2. После его добавления ручками прописываем в текстовом поле команд координаты 0,30. Так что строчка будет иметь вид "MoveActiveWindow 0,30".
3. Тестируем


Окно открыто и перемещено в левый верхний угол, к тем координатам, которые мы ему указали! Готово!


Закрываем Редактор Макросов ЛеоКар. Теперь при запуске Руссы появится Панель Инструментов с теми кнопками, которые мы настроили, а нажатие на них будет выполнять соответствующие действия!

Вот, вроде бы и все. Попробовав один раз, все становится легко и просто. Удачи в написании макросов!
LI()n вне форума   Ответить с цитированием
Старый 15.11.2007, 14:32   #2
AlexxxV
Старший Пользователь
 
Регистрация: 02.01.2007
Возраст: 61
Город: Ростов-на-Дону
Регион: 61
Машина: Renault Scenic F3R
Сообщений: 254
AlexxxV is on a distinguished road
По умолчанию

Если чего либо не получается - читайте инструкцию!
Если опять не получается - читайте ее от корки до корки!
Если не получается в третий раз - проверьте, а ту ли вы инструкцию читаете?

СУПЕР!!! МЕГА РЕСПЕКТ за инструкцию!!!
__________________
Машинка почти такая же как у MediaCar
--------------------------------------------------
Case Z39 "ПилимСами"+моник уперли+БП SL( )+Advantech PCM-9580+Celeron 2,2 спалил +SAMSUNG DDR (512Mb+256Mb)+120 Gb 3.5"+NEC сдох+Terratec Aureon 5.1 USB MKII+BU-353+AverTV Hybrid FM Volar+CardReader 3,5"+DUB-H4+DBT-122+DWL-AG132+DDT2000, Digitronik LPG...LeoCar( )
AlexxxV вне форума   Ответить с цитированием
Старый 15.11.2007, 15:40   #3
pafftis
Гуру
 
Аватар для pafftis
 
Регистрация: 29.10.2006
Возраст: 37
Город: Череповец
Регион: 35
Машина: 1987\Ауди\80
Сообщений: 1,008
pafftis will become famous soon enough
По умолчанию

Отличный мануальчик, но я что то с ними и без его разобрался, но с мануалом гляжу возможностей поболее!!!
pafftis вне форума   Ответить с цитированием
Старый 15.11.2007, 16:14   #4
Menen
Старший Пользователь
 
Регистрация: 02.04.2007
Возраст: 43
Город: Череповец
Регион: 35
Машина: 2000\Opel\AstraЖ
Сообщений: 248
Menen is on a distinguished road
По умолчанию

Цитата:
Сообщение от pafftis Посмотреть сообщение
Отличный мануальчик, но я что то с ними и без его разобрался, но с мануалом гляжу возможностей поболее!!!
На то он и мануал. Почитай инструкцию к машине может больше возможностей появится
Menen вне форума   Ответить с цитированием
Старый 15.11.2007, 16:33   #5
LI()n
Творец LeoCar'a
 
Аватар для LI()n
 
Регистрация: 28.03.2007
Город: Москва
Регион: 77, 97, 99, 177
Машина: LeoCar GT-Four Turbo и Рыжий Элемент
Сообщений: 747
LI()n is a jewel in the roughLI()n is a jewel in the roughLI()n is a jewel in the rough
По умолчанию

Спасибо!
Надеюсь, теперь с макросами проблем возникать не будет!
LI()n вне форума   Ответить с цитированием
Старый 15.11.2007, 20:19   #6
pafftis
Гуру
 
Аватар для pafftis
 
Регистрация: 29.10.2006
Возраст: 37
Город: Череповец
Регион: 35
Машина: 1987\Ауди\80
Сообщений: 1,008
pafftis will become famous soon enough
По умолчанию

Цитата:
Сообщение от Menen Посмотреть сообщение
На то он и мануал. Почитай инструкцию к машине может больше возможностей появится
Это ты сейчас пошутил?? Тогда я тебе не только "моего товара привезу" что бы тебе к начальнику было лехче ходить!!!
pafftis вне форума   Ответить с цитированием
Старый 19.03.2008, 14:42   #7
alexzlo
Старший Пользователь
 
Аватар для alexzlo
 
Регистрация: 07.01.2008
Город: Москва
Регион: 77, 97, 99, 177
Машина: Toyota Supra
Сообщений: 94
alexzlo is on a distinguished road
По умолчанию

а как редактировать уже имеющееся кнопки... например сменил скин для Dis RX и мышь должна кликать в другом месте уже.
alexzlo вне форума   Ответить с цитированием
Старый 19.03.2008, 17:32   #8
LI()n
Творец LeoCar'a
 
Аватар для LI()n
 
Регистрация: 28.03.2007
Город: Москва
Регион: 77, 97, 99, 177
Машина: LeoCar GT-Four Turbo и Рыжий Элемент
Сообщений: 747
LI()n is a jewel in the roughLI()n is a jewel in the roughLI()n is a jewel in the rough
По умолчанию

Цитата:
Сообщение от alexzlo Посмотреть сообщение
а как редактировать уже имеющееся кнопки... например сменил скин для Dis RX и мышь должна кликать в другом месте уже.
Открываешь редактор, выбираешь в списке слева редактируемую программу, появляется список доступных кнопок для этой программы. Выбираешь кнопку - в текстовом поле показывается скрипт, который ты и редактируешь.

Смотри третий скриншот. Красным обведен список программ, а прямо под ним - список созданных кнопок для каждой программы.
LI()n вне форума   Ответить с цитированием
Старый 07.05.2008, 16:52   #9
= Nicki =
Старший Пользователь
 
Регистрация: 06.07.2007
Возраст: 45
Город: Екатеринбург
Регион: 66, 96
Машина: Honda Fit
Сообщений: 820
= Nicki = is a jewel in the rough= Nicki = is a jewel in the rough= Nicki = is a jewel in the rough= Nicki = is a jewel in the rough
По умолчанию

со скриптами более менее все понятно, а вот как быть с программы у которых не своего дизайна или он не вписывается в скин? (ну лень мне делать дизайн свой проги ). Но зато прога у меет понимать команды через WM_CopyData ... Короче звонилку хочу свою прикрутить
= Nicki = вне форума   Ответить с цитированием
Старый 29.10.2009, 11:17   #10
slon25
Старший Пользователь
 
Регистрация: 29.10.2009
Возраст: 48
Регион: Украина
Сообщений: 131
slon25 is a jewel in the roughslon25 is a jewel in the roughslon25 is a jewel in the rough
По умолчанию

Как запустить редактор макросов? Не могу его найти(((((((((9
slon25 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 14:00.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot