Перейти по заданным координатам извне

Форум для обсуждения деталей разработки программы SAS.Планета

Модераторы: vdemidov, Tolik

ladvip
Новичок
Сообщения: 1
Зарегистрирован: 08 июл 2015, 14:26
Благодарил (а): 1 раз

Перейти по заданным координатам извне

Сообщение ladvip »

Как приказать SAS-у перейти по заданным координатам из другой программы, или из командной строки. Я пишу прогу на Delphi и хочу внедрить в неё сохранение координат, а SAS будет использоваться как просматровщик.
zed
Гуру
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз
Поблагодарили: 568 раз

Re: перейти по заданным координатам из вне

Сообщение zed »

ladvip писал(а):Как приказать SAS-у перейти по заданным координатам из другой программы

Послать сообщение WM_COPYDATA с соответствующим содержанием. Про фичу можно почитать в багтрекере http://www.sasgis.org/mantis/view.php?id=1869 и посмотреть на реализацию в сорцах SAS-а - тестовая утилитка лежит в папке /Test/TestWMCopyData/.
echo
Новичок
Сообщения: 4
Зарегистрирован: 22 сен 2015, 11:35

Re: перейти по заданным координатам из вне

Сообщение echo »

В дополнение темы, может кому пригодится: можно использовать запуск приложения с параметром
"C:\SAS.Planet\SAS.Planet.Nightly.150920.9091\SASPlanet.exe --map={F6574B06-E632-4D5F-BC75-C8FA658B57DF} --zoom=19 --move=(37.574999,55.776213)",
Тут ключ --move указывавает координаты перемещения, но пожалуй через WM_COPYDATA было бы правильнее чтоли, тут уж смотря из какого приложения.
GREEN
Новичок
Сообщения: 34
Зарегистрирован: 14 янв 2009, 16:40
Поблагодарили: 3 раза

Re: перейти по заданным координатам из вне

Сообщение GREEN »

Под эту фичу только перехватчика ссылок недостает, чтобы при нажатии ссылки на GOOGLe в браузере или скажем скайпе, она ткрывалась в SASe.
Аватара пользователя
Parasite
Администратор
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раза
Поблагодарили: 508 раз

Re: перейти по заданным координатам из вне

Сообщение Parasite »

ladvip писал(а):из вне

Из кого?? :facepalm:
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Johnson
Новичок
Сообщения: 8
Зарегистрирован: 23 сен 2015, 00:32
Благодарил (а): 4 раза

Re: перейти по заданным координатам из вне

Сообщение Johnson »

echo писал(а):В дополнение темы, может кому пригодится: можно использовать запуск приложения с параметром
"C:\SAS.Planet\SAS.Planet.Nightly.150920.9091\SASPlanet.exe --map={F6574B06-E632-4D5F-BC75-C8FA658B57DF} --zoom=19 --move=(37.574999,55.776213)",
Тут ключ --move указывавает координаты перемещения, но пожалуй через WM_COPYDATA было бы правильнее чтоли, тут уж смотря из какого приложения.
А может кто-нибудь подсказать где можно глянуть полный список параметров, с которыми можно запускать САС?
Аватара пользователя
vdemidov
Гуру
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз
Поблагодарили: 157 раз

Re: перейти по заданным координатам из вне

Сообщение vdemidov »

Johnson писал(а):А может кто-нибудь подсказать где можно глянуть полный список параметров, с которыми можно запускать САС?
Самое надежное место - исходники САС. u_CmdLineArgProcessor.pas
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Johnson
Новичок
Сообщения: 8
Зарегистрирован: 23 сен 2015, 00:32
Благодарил (а): 4 раза

Re: перейти по заданным координатам из вне

Сообщение Johnson »

Ага, спасибо, почти разобрался, кроме одного: не могу отработать --insert-placemark. Может кто увидит сходу ошибку в коде? (в генетическом всё норм ;) ) Вот это пихаю в консоль

Код: Выделить всё

D:\SAS.Planet.Release.141212\SASPlanet.exe --show-placemarks=1 --insert-placemark="Test Name";(27.5,53.9);"Test Description"
И либо отображаются ранее добавленные метки(если есть), либо ничего.
Аватара пользователя
vdemidov
Гуру
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз
Поблагодарили: 157 раз

Re: перейти по заданным координатам из вне

Сообщение vdemidov »

Увы, все что работает с базой меток, через командную строку пока не работает и в ближайшем будущем не заработает (База меток инициализируется асинхронно и позже обработки командной строки ). Только через отправку сообщений запущенной программе.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Johnson
Новичок
Сообщения: 8
Зарегистрирован: 23 сен 2015, 00:32
Благодарил (а): 4 раза

Re: перейти по заданным координатам из вне

Сообщение Johnson »

vdemidov писал(а):Увы, все что работает с базой меток, через командную строку пока не работает и в ближайшем будущем не заработает (База меток инициализируется асинхронно и позже обработки командной строки ). Только через отправку сообщений запущенной программе.
Спасибо за ответ, теперь хоть буду точно знать, что попытки добавить метки из консоли надо оставить. А по поводу отправки сообщений может тоже подскажете какой формат понятен САСу? Вот, например, пытаюсь я отправить сообщение:

Код: Выделить всё

 SendMessage(SASHandle, WM_COPYDATA, 0, lParam)
А в каком виде должен быть lParam? Буду благодарен за любую разъяснительную информацию.
Ответить

Вернуться в «Раздел для разработчиков программы SAS.Планета»