Аналитика http://www.geosystema.net/forum/ |
|
Запрос на функцию http://www.geosystema.net/forum/viewtopic.php?f=1&t=49 |
Страница 38 из 92 |
Автор: | Deffar [ 11 апр 2012 13:20 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Чи можливо запустити перевірку XML із скрипта ? |
Автор: | Bondarets Alexander [ 11 апр 2012 16:32 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Вот скрипт для запуска проверки открытого XML Код: $S=@Map.Filename @Run XMLChecker.exe -xml"$S" в папке Digitals должна находиться программа XMLChecker.exe, которую можно взять из полного дистрибутива. |
Автор: | Deffar [ 11 апр 2012 20:44 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Скрипт открывает пустой генератор отчетов |
Автор: | Bondarets Alexander [ 12 апр 2012 08:12 ] |
Заголовок сообщения: | Re: Запрос на функцию |
XMLChecker после окончания проверки открывает генератор отчетов с шаблоном протокола проверки. Этого делать не нужно? |
Автор: | Deffar [ 12 апр 2012 20:26 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Хотелось бы получить аналог того что имеем при сохранении файла (открытый xmlchecker.log), только по запросу. Лично мне, как пользователю, протокол проверки ненужен, а проверка при каждом сохранении только мешает. |
Автор: | voha [ 13 апр 2012 08:01 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Може хтось знає, підкажіть, будь-ласка. Хочу припинити аналіз карти після селектування об'єкта. Використовую функції API. Вікно "Анализ карты" має дочірнє вікно "Скасувати", і по суті код має працювати: Код: HDig& = FindWindow(vbNullString, "Анализ карты") If HDig& <> 0 Then rc& = ProgChildWindow(HDig&, "Скасувати") If rc& <> 0 Then Call SendMessage(rc&, BM_CLICK, 0, 0) End If End If Ідентифікатори вікон HDig& та rc& визначаються, а от посилка повідомлення Call SendMessage(rc&, BM_CLICK, 0, 0) не дає результату. Мабуть, вікно "Скасувати" має якусь системну назву, і тоді саме її вказувати треба Але ж, працює код: Код: HDig& = FindWindow(vbNullString, "Розворот") If HDig& <> 0 Then rc& = ProgChildWindow(HDig&, "Cancel") If rc& <> 0 Then Call SendMessage(rc&, BM_CLICK, 0, 0) End If End If Об'єкт селектується в скрипті. Після селектування, наступає аналіз карти а виконання скрипта - полетіло собі далі аж до кінця. Поки проходить аналіз карти і наступає виконання приведеного коду. Ця думка виявилась хибною Аналіз карти наступає зразу після селектування, а скрипт очікує до завершення аналізу. Було б добре мати функцію, для посилки команди припинення аналізу карти зі скрипта . |
Автор: | Bondarets Alexander [ 13 апр 2012 08:56 ] | ||
Заголовок сообщения: | Re: Запрос на функцию | ||
Deffar писал(а): Хотелось бы получить аналог того что имеем при сохранении файла (открытый xmlchecker.log), только по запросу. Лично мне, как пользователю, протокол проверки ненужен, а проверка при каждом сохранении только мешает. Используйте приложенный файл XMLChecker.exe и следующий скрипт Код: $S=@Map.Filename @Run XMLChecker.exe -XML"$S" -NoRunReports -SaveErrorList В данном случае модуль отчетов после завершения проверки не запускается. Список ошибок (в виде Номер строки: Текст ошибки) сохраняется в текстовый файл, который затем открывается в блокноте.
|
Автор: | Deffar [ 13 апр 2012 20:01 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Спасибо, все работает !! Но теперь возникает другая проблема - начинают плодится по каталогам никому ненужные логи проверки, приходится подчищать Почему нельзя использовать тот же xmlchecker.log ? + теперь если установлена галочка проверки при сохранении запускается генератор отчетов (чего и следовало ожидать), мне не критично (все равно отключаю), но все-таки как-то оно нехорошо... |
Автор: | voha [ 14 апр 2012 08:55 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Що-до обробки події %Events.OnChange - "который вызывается при изменении объекта". Не нагально, але чи можна буде включити в поняття зміни об'єкта ще й вставку точки, видалення точки об'єкта . Адже зміна значення параметра об'єкта викликає подію, а зміна геометрії об'єкта (вставка точки, видалення точки) - ні. Це, як на мене, суперечить логіці. |
Автор: | Bondarets Alexander [ 17 апр 2012 17:06 ] | ||
Заголовок сообщения: | Re: Запрос на функцию | ||
Цитата: Но теперь возникает другая проблема - начинают плодится по каталогам никому ненужные логи проверки, приходится подчищать Почему нельзя использовать тот же xmlchecker.log ? + теперь если установлена галочка проверки при сохранении запускается генератор отчетов (чего и следовало ожидать), мне не критично (все равно отключаю), но все-таки как-то оно нехорошо... Попробуйте версию во вложении. Запускать с ключом Код: $S=@Map.Filename
@Run XMLChecker.exe -XML"$S" -OpenLogInNotepad
|
Автор: | Deffar [ 17 апр 2012 17:28 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Все працює, дякую !!! |
Автор: | ЕЦКО [ 19 апр 2012 13:53 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Здравствуйте! Скажите можно ли в слое XMLОренда, в строке "Площа ділянки або її частини, наданої в оренду" сделать чтобы площадь вбивалась автоматически? Когда будет функция "извлечь в XML"? |
Автор: | voha [ 25 апр 2012 07:24 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Доброго дня. Виникає необхідність автоматизувати рутинну операцію створення полігонів. Гаряча клавіша "N" створює полігон в режимі збору, якщо курсор миші знаходиться всередині зони, обмеженої іншими полігонами чи лінійними об'єктами. Так от, є карта в лініях і є точкові об'єкти (центроїди). Уявіть собі що, треба створити полігони обмежені цими лініями, і таких полігонів (відповідно кількості центроїдів) - тисячі . Необхідна функція @Map.CreatePoligon X Y [Layer], де X Y - координати точки що знаходиться всередині створюваного полігону; [Layer] - ID шару, в якому буде створено полігон, якщо не вказано - ID шару збору. Функція має повертати номер об'єкта якщо полігон створений, або 0 - якщо полігон створити не вдалося із-за незамкнутості ліній (наявності висячих ліній). Якби таку функцію "забумбурити" в цикл перебору всіх центроїдів, було-б Ого-го Ще одне . Чи можливо доробити обробку події %Events.OnChange . Варто щоб подія виникала при видаленні/вставці точки з/в об'єкта/об'єкт, а обробку зміни значення параметрів об'єкта винести окремо, наприклад %Events.OnParameterChange |
Автор: | Dmitriy Fedorov [ 25 апр 2012 08:40 ] |
Заголовок сообщения: | Re: Запрос на функцию |
voha писал(а): Виникає необхідність автоматизувати рутинну операцію створення полігонів. Как насчет кнопки Создать полигоны на панели Правка в разделе Сервис? Вторым этапом - проверить вложенность на закладке Список. Третьим - унаследовать параметры от вашиъ точечных объектов. |
Автор: | voha [ 25 апр 2012 11:35 ] |
Заголовок сообщения: | Re: Запрос на функцию |
Цитата: Как насчет кнопки Создать полигоны на панели Правка в разделе Сервис? Все це добре, дякую за підказку, але лінії в багатьох випадках недотягнуті - висячі, тоді (якби була відповідна функція), в циклі скрипта, відбувався б перебір всіх точкових об'єктів (центроїдів) і: якщо полігон не створений, користувач дотягує лінію, далі продовжує виконання скрипта який ще раз спробує створити полігон відповідно для того-ж точкового об'єкта. Таким чином, в діалоговому режимі й робити.Цитата: Вторым этапом - проверить вложенность на закладке Список. Відпаде необхідність аналізу вкладеності об'єктів, якщо створення полігонів відбуватиметься лише там де є точковий об'єкт.Цитата: Третьим - унаследовать параметры от вашиъ точечных объектов. А як бути, коли параметр 13 полігона має бути успадкований від параметра 33 точкового об'єкта А так, у скрипті використовуватиметься таблиця відповідності параметрів. Справа в тому, що таких карт багато, а операція створення полігонів - разова по кожній карті. Після створення полігонів всі лінії та точкові об'єкти видалятимуться. Міняти ж перелік параметрів, доступних полігонам - не бажано.
|
Страница 38 из 92 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |