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

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

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

Сообщение Максим Дубинин »

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

http://gis-lab.info/qa/hotlink-anytype.html
пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Сообщение Максим Дубинин »

добавлено описание проблем с Google Earth и их решения
пристегивайтесь, турбулентность прямо по курсу
AN1440
Участник
Сообщения: 76
Зарегистрирован: 24 фев 2006, 14:33
Репутация: 0

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

Сообщение AN1440 »

Неприятная особенность: Если в поле имени файла пусто, происходит открытие системного окна с папкой проекта.
А как бы сделать, чтобы типа выскакивало сообщение "Нет файла!", или еще лучше - просто "BEEP" ?
AN1440
Участник
Сообщения: 76
Зарегистрирован: 24 фев 2006, 14:33
Репутация: 0

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

Сообщение AN1440 »

...и еще аналогично: при использовании скриптов для открытия картинки с помощю ИрфанВъю - если хотлинк-поле содержит имя несуществующего файла, то "File not found!", а если поле пустое - происходит открытие первого попавшегося файла-картинки из папки проекта. Точнее, открывается пустой Ирфан, а он уже сам загружает первую попавшуюся картинку. То же делает и ФастСтоне.
AN1440
Участник
Сообщения: 76
Зарегистрирован: 24 фев 2006, 14:33
Репутация: 0

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

Сообщение AN1440 »

...от последнего удалось избавиться, добавив в скрипт "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
Ответить

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

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

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