Открытие файла ассоциированным приложением с помощью Avenue

Обсуждение материалов сайта: вопросы, замечания, предложения
Ответить
Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Открытие файла ассоциированным приложением с помощью Avenue

Сообщение Максим Дубинин » 04 мар 2005, 01:52

Обсуждение статьи: Открытие файла ассоциированным приложением с помощью Avenue

http://gis-lab.info/qa/hotlink-anytype.html
пристегивайтесь, турбулентность прямо по курсу

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Сообщение Максим Дубинин » 22 янв 2007, 07:39

добавлено описание проблем с Google Earth и их решения
пристегивайтесь, турбулентность прямо по курсу

AN1440
Участник
Сообщения: 76
Зарегистрирован: 24 фев 2006, 14:33
Репутация: 0

Re: Открытие файла ассоциированным приложением с помощью Avenue

Сообщение AN1440 » 18 июн 2009, 11:09

Неприятная особенность: Если в поле имени файла пусто, происходит открытие системного окна с папкой проекта.
А как бы сделать, чтобы типа выскакивало сообщение "Нет файла!", или еще лучше - просто "BEEP" ?

AN1440
Участник
Сообщения: 76
Зарегистрирован: 24 фев 2006, 14:33
Репутация: 0

Re: Открытие файла ассоциированным приложением с помощью Avenue

Сообщение AN1440 » 18 июн 2009, 12:17

...и еще аналогично: при использовании скриптов для открытия картинки с помощю ИрфанВъю - если хотлинк-поле содержит имя несуществующего файла, то "File not found!", а если поле пустое - происходит открытие первого попавшегося файла-картинки из папки проекта. Точнее, открывается пустой Ирфан, а он уже сам загружает первую попавшуюся картинку. То же делает и ФастСтоне.

AN1440
Участник
Сообщения: 76
Зарегистрирован: 24 фев 2006, 14:33
Репутация: 0

Re: Открытие файла ассоциированным приложением с помощью Avenue

Сообщение AN1440 » 18 июн 2009, 12:55

...от последнего удалось избавиться, добавив в скрипт "if-then":

theView = av.GetActiveDoc
found = false
p = theView.GetDisplay.ReturnUserPoint
for each t in theView.GetActiveThemes
if ((t.HasAttributes) and (t.GetHotField <> nil)) then
recs = t.FindByPoint(p)
for each rec in recs
theField = t.GetHotField
found = true
theVal = t.ReturnValueString(theField.GetName, rec)
if (theVal<>"") then
av.Run(t.GetHotScriptName,FileName.GetCWD.asstring+"\"+theVal)
end
end
end
end
if (not found) then
System.Beep
end

Ответить

Вернуться в «Материалы сайта»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 32 гостя