Аналитика
https://geosystema.net/forum/

Все про скрипти
https://geosystema.net/forum/viewtopic.php?f=1&t=2809
Страница 77 из 83

Автор:  voha [ 02 мар 2021 22:01 ]
Заголовок сообщения:  Re: Все про скрипти

Dmitry_Zolotar писал(а):
Скрипт запускає обробку *.txt з папки в кількох потоках(максимальна одночасна кількість потоків визначена змінною $MaxThreadCount=5) та контролює завершення кожного. Для кожного потока викликається лише одна команда...
Чемно дякую за приклад управляючого скрипта. Треба пробувати, як на мене це - чудова можливість в рази прискорити роботу засобів автоматизації :D
Однак приєднаюся до питання Миколи Фендак: мабуть у зв'язку з багатопоточністю, відтепер необхідно ініціалізувати всі змінні? Це робиться лише одним способом - присвоєнням порожнього значення?
Dmitry_Zolotar писал(а):
Приклад, будь ласка, що саме перестало запускатись.
Не запускається скрипт AutoIt з двома параметрами.
Рядок з лог-файла:
21:57:48.898 RUN D:\Digitals\Favorites\SignatureValidMap.exe "C:\Users\voha-\Desktop\04-Катеринівське.dmf" "2021/03/01 21:57:40"

P.S. Я зрозумів, що справа в лапках. Якщо лапки одинарні, запуск виконується. Але тоді параметри скрипта читаються не коректно. В принципі вихід є: переписати скрипт на функцію DLL. Це єдиний вихід?

Автор:  -Ivan- [ 04 мар 2021 13:10 ]
Заголовок сообщения:  Re: Все про скрипти

Добрий день, допоможіть добити скрипт, потрібно щоб при виборі одного з масштабів відкривався потрібний шаблон.

$CountMap=@MapCount
@If $CountMap=0 then @Break Вікдрийте обмінний файл для формування плану
@Map.DeselectAll
@Map.SelectLayer ID70005
$Sit=@Dialog.Select ВИБЕРІТЬ МАСШТАБ|1000|2000|5000|10000
@if $Sit=1000 then @goto $1000
$1000=@ExecuteDocument 1_Сит.план (1000).dmt
;@if $Sit=2000 then @goto $2000
;$2000=@ExecuteDocument 1_Сит.план (2000).dmt
;@if $Sit=5000 then @goto $5000
;$5000=@ExecuteDocument 1_Сит.план (5000).dmt
;@if $Sit=10000 then @goto $10000
;$10000=@ExecuteDocument 1_Сит.план (10000).dmt

Автор:  VictorR [ 04 мар 2021 13:31 ]
Заголовок сообщения:  Re: Все про скрипти

Спобуйте так:

$Sit=@Dialog.Select ВИБЕРІТЬ МАСШТАБ|1000|2000|5000|10000
@if $Sit=1000 @ExecuteDocument 1_Сит.план (1000).dmt

або

$Sit=@Dialog.Select ВИБЕРІТЬ МАСШТАБ|1000|2000|5000|10000
@if $Sit=1000 then @goto %1000
@if $Sit=2000 then @goto %2000
%1000
@ExecuteDocument 1_Сит.план (1000).dmt
@goto %end
%2000
@ExecuteDocument 1_Сит.план (2000).dmt
@goto %end
%end

Автор:  voha [ 04 мар 2021 14:04 ]
Заголовок сообщения:  Re: Все про скрипти

-Ivan- писал(а):
Добрий день, допоможіть добити скрипт, потрібно щоб при виборі одного з масштабів відкривався потрібний шаблон.
Код:
$Sit=@Dialog.Select ВИБЕРІТЬ МАСШТАБ|1000|2000|5000|10000
;Якщо масштаб не вибрано - припинення виконання
@If "$Sit"="" then @Break Не вибрано масштаб
;Якщо вибрано 1000 - перехід на мітку %1000
@If $Sit=1000 then @Goto %1000
@If $Sit=2000 then @Goto %2000
@If $Sit=5000 then @Goto %5000
;Якщо вибір зроблено, але не 1000, 2000 або 5000 - значить вибрано 10000
@ExecuteDocument 1_Сит.план (10000).dmt
@Goto %EndSelect
%1000
@ExecuteDocument 1_Сит.план (1000).dmt
@Goto %EndSelect
%2000
@ExecuteDocument 1_Сит.план (2000).dmt
@Goto %EndSelect
%5000
@ExecuteDocument 1_Сит.план (5000).dmt
%EndSelect
Назви міток починаються символом %, змінних - символом $.

Автор:  -Ivan- [ 04 мар 2021 14:30 ]
Заголовок сообщения:  Re: Все про скрипти

Дякую всім хто відгукнувся, тепер вкурив що куди)

Автор:  VictorR [ 05 мар 2021 12:24 ]
Заголовок сообщения:  Re: Все про скрипти

При конвертації в ХМЛ через діджитал, файли конвертуються за різний проміжок часу, інколи зовсім не конвертуються. Необхідно продовжити виконання скрипту після повної конвертації файлу. Допоможіть це зробити:

цей рядок працює зовсім не корректно:

$6661=@Map.ClearFilename
Файл | Конвертировать In4 в XML
@Wait 10000
@Map.DeselectAll
@FileOpen $6661.xml
......

Автор:  voha [ 05 мар 2021 23:33 ]
Заголовок сообщения:  Re: Все про скрипти

VictorR писал(а):
При конвертації в ХМЛ через діджитал, файли конвертуються за різний проміжок часу, інколи зовсім не конвертуються. Необхідно продовжити виконання скрипту після повної конвертації файлу. Допоможіть це зробити:

цей рядок працює зовсім не корректно:

$6661=@Map.ClearFilename
Файл | Конвертировать In4 в XML
@Wait 10000
@Map.DeselectAll
@FileOpen $6661.xml
......
Скриптова функція @Wait тут не допомагає, а лише шкодить (поки скрипт "Wait", XMLChecker не в змозі коректно відпрацювати). Саме із-за @Wait "інколи зовсім не конвертуються". Трохи більше варто почитати про конвертацію In4 в XML.
Без забезпечення роботи скрипта ConvertIn4ToXML.pas в асинхронному режимі толку виконання FileConvertIn4ToXML зі скрипта не буде.

Поки єдиний варіант вирішення:
Код:
$6661=@Map.ClearFilename
@ExecuteMenu FileConvertIn4ToXML
$Asc=@Dialog.WaitBox Після створення файла XML натисніть <Продовжити>.
@If $Asc=0 then @Break Припинено виконання скрипта
@Map.DeselectAll
;@FileOpen $6661.xml
і тут я не бачу причини відкривати файл $6661.xml. Він повинний відкритися XMLChecker-ом.

P.S. Доречі:
Bondarets Alexander писал(а):
XMLChecker может быть запущен с параметрами командной строки: -ConvertIn4ToXML "Путь к In4 файлу" - конвертирование In4 в XML формат (используется скрипт конвертирования In4 > XML по умолчанию, установленный в настройках XMLChecker)
Але ж лапки тепер не можна застосувати в аргументі скриптової функції @Run :(

Автор:  VictorR [ 07 мар 2021 12:19 ]
Заголовок сообщения:  Re: Все про скрипти

voha

Дякую за відповідь. Також тимчасово обходився функцією @Dialog.Message Text. Але думав що цьому є якесь вирішення. Доречі новостворенний ХМЛ також не завжди відкривається в программі, залежності цьому ще не помітив.

Автор:  -Ivan- [ 05 апр 2021 15:06 ]
Заголовок сообщения:  Re: Все про скрипти

Добрий день, чи є така можливість почати всі/виділені об'єкти з крайньої північної точки?

Автор:  fendak [ 06 апр 2021 22:03 ]
Заголовок сообщения:  Re: Все про скрипти

-Ivan- писал(а):
Добрий день, чи є така можливість почати всі/виділені об'єкти з крайньої північної точки?

див. ТУТ

Автор:  -Ivan- [ 07 апр 2021 11:27 ]
Заголовок сообщения:  Re: Все про скрипти

fendak
Дякую!!! Те що шукав.

Автор:  petrogeo [ 07 апр 2021 14:59 ]
Заголовок сообщения:  Re: Все про скрипти

Доброго дня.
Потрібна допомога. Як помітити полігон, в який попадає точковий об'єкт (в середину цього полігону)?

Автор:  fendak [ 07 апр 2021 22:06 ]
Заголовок сообщения:  Re: Все про скрипти

petrogeo писал(а):
Як помітити полігон, в який попадає точковий об'єкт (в середину цього полігону)?


$Dil=@Map.SelectedObject
@if $Dil=0 then @break Виділіть точку
$PO=@Map.ParentObject $Dil
@Map.DeselectAll
@Map.SelectObject $PO

Автор:  petrogeo [ 08 апр 2021 07:44 ]
Заголовок сообщения:  Re: Все про скрипти

fendak писал(а):
petrogeo писал(а):
Як помітити полігон, в який попадає точковий об'єкт (в середину цього полігону)?


$Dil=@Map.SelectedObject
@if $Dil=0 then @break Виділіть точку
$PO=@Map.ParentObject $Dil
@Map.DeselectAll
@Map.SelectObject $PO


Дякую!!! :D

Автор:  S@SH [ 10 апр 2021 18:02 ]
Заголовок сообщения:  Re: Все про скрипти

Братцы помогите.
нужно в замкнутом полигоне найти самую длинную сторону и по этой стороне создать отрезок.
Самому пока ума не хватает такое реализовать. Поэтому обращаюсь к нашему бомонду с надеждой что это реализуемо. :D

Страница 77 из 83 Часовой пояс: UTC + 2 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/