Перейти по заданным координатам извне
Перейти по заданным координатам извне
Как приказать SAS-у перейти по заданным координатам из другой программы, или из командной строки. Я пишу прогу на Delphi и хочу внедрить в неё сохранение координат, а SAS будет использоваться как просматровщик.
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: перейти по заданным координатам из вне
ladvip писал(а):Как приказать SAS-у перейти по заданным координатам из другой программы
Послать сообщение WM_COPYDATA с соответствующим содержанием. Про фичу можно почитать в багтрекере http://www.sasgis.org/mantis/view.php?id=1869 и посмотреть на реализацию в сорцах SAS-а - тестовая утилитка лежит в папке /Test/TestWMCopyData/.
Re: перейти по заданным координатам из вне
В дополнение темы, может кому пригодится: можно использовать запуск приложения с параметром
"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 было бы правильнее чтоли, тут уж смотря из какого приложения.
"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 было бы правильнее чтоли, тут уж смотря из какого приложения.
Re: перейти по заданным координатам из вне
Под эту фичу только перехватчика ссылок недостает, чтобы при нажатии ссылки на GOOGLe в браузере или скажем скайпе, она ткрывалась в SASe.
- Parasite
- Администратор
- Сообщения: 5646
- Зарегистрирован: 23 окт 2008, 17:38
- Благодарил (а): 124 раза
- Поблагодарили: 508 раз
Re: перейти по заданным координатам из вне
Из кого??ladvip писал(а):из вне
The only difference between me and a mad man is that I am not mad. /Salvador Dali/


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 было бы правильнее чтоли, тут уж смотря из какого приложения.
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: перейти по заданным координатам из вне
Самое надежное место - исходники САС. u_CmdLineArgProcessor.pasJohnson писал(а):А может кто-нибудь подсказать где можно глянуть полный список параметров, с которыми можно запускать САС?
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Re: перейти по заданным координатам из вне
Ага, спасибо, почти разобрался, кроме одного: не могу отработать --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: перейти по заданным координатам из вне
Увы, все что работает с базой меток, через командную строку пока не работает и в ближайшем будущем не заработает (База меток инициализируется асинхронно и позже обработки командной строки ). Только через отправку сообщений запущенной программе.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Re: перейти по заданным координатам из вне
Спасибо за ответ, теперь хоть буду точно знать, что попытки добавить метки из консоли надо оставить. А по поводу отправки сообщений может тоже подскажете какой формат понятен САСу? Вот, например, пытаюсь я отправить сообщение:vdemidov писал(а):Увы, все что работает с базой меток, через командную строку пока не работает и в ближайшем будущем не заработает (База меток инициализируется асинхронно и позже обработки командной строки ). Только через отправку сообщений запущенной программе.
Код: Выделить всё
SendMessage(SASHandle, WM_COPYDATA, 0, lParam)