Аналитика https://geosystema.net/forum/ |
|
Все про скрипти https://geosystema.net/forum/viewtopic.php?f=1&t=2809 |
Страница 79 из 83 |
Автор: | matskows [ 22 июн 2021 16:32 ] |
Заголовок сообщения: | Re: Все про скрипти |
Як через скрипти замінити параметри? Наприклад: на карті є три ділянки Кожна з них має різне значення у параметрі НД(4) такі як 1,2,3 їх мотрібно замінити на двозначні 01,02,03 |
Автор: | Dmitry_Zolotar [ 22 июн 2021 16:56 ] |
Заголовок сообщения: | Re: Все про скрипти |
matskows писал(а): Як через скрипти замінити параметри? Наприклад: на карті є три ділянки Кожна з них має різне значення у параметрі НД(4) такі як 1,2,3 їх мотрібно замінити на двозначні 01,02,03 $Digits=2 $AM=@ActivateMap @if $AM=0 then @Break $MC=@Map.Count $I=0 %LoopObject $I=$I+1 $ParcelNumber=@Map.Object[$I].Parameter[4] @if $ParcelNumber= then @Goto %IgnoreObject $ParcelNumber=000000000$ParcelNumber $Len=@Calc length("$ParcelNumber") $ParcelNumber=@Calc copy("$ParcelNumber",$Len-$Digits+1,$Digits) $ParcelNumber=@DequoteText $ParcelNumber @Map.Object[$I].Parameter[4] $ParcelNumber @Map.RefreshObject $I %IgnoreObject @if $I<$MC then @Goto %LoopObject @Window.Refresh |
Автор: | aisa-soft [ 22 июн 2021 17:19 ] |
Заголовок сообщения: | Re: Все про скрипти |
Доброго дня! Чи є функція, яка перевіряє наявність паролів у файлі (не відриваючи їх)? |
Автор: | kochyr [ 19 авг 2021 08:38 ] |
Заголовок сообщения: | Re: Все про скрипти |
Допоможіть зробити скрипт щоб при виборі "так" зберігало один файл. А коли "ні" зберігало декілька, а першу карту залишало. Не можу добитися щоб при виборі "ні" відкривало вікно для збереження активної карти. $MapCount=@MapCount ;@if $MapCount=0 @break $Print=@Dialog.Select ЗБЕРЕГТИ ОДИН ФАЙЛ?|так|ні @if $Print=ні then @Goto %Newcopy @if $Print=так then @Goto %SAVE @if $Print=0 then @break @if $Print= then @break %SAVE $OriginalMap=@ActivateMap Файл | Сохранить как... $Zakrut=@Dialog.Select ЗАКРИТИ ФАЙЛ?|так|ні @if $Zakrut=так then @Goto %CLOSE @if $Zakrut=ні then @Goto %Finisf @Goto %Finisf %Newcopy ;$MapCount=@MapCount @if $MapCount=0 @break %Start $OriginalMap=@ActivateMap Файл | Сохранить как... %CLOSE @CloseMap $OriginalMap %Finisf @if $OriginalMap<=$MapCount @break @Goto %Start |
Автор: | voha [ 24 авг 2021 18:34 ] |
Заголовок сообщения: | Re: Все про скрипти |
Доброго дня. kochyr писал(а): Допоможіть зробити скрипт щоб при виборі "так" зберігало один файл. А коли "ні" зберігало декілька, а першу карту залишало. Не можу добитися щоб при виборі "ні" відкривало вікно для збереження активної карти. Ваше прохання, з огляду на те, як написаний скрипт, викликає купу запитань у відповідь:- хіба $OriginalMap може колись бути більшим за $MapCount? Але то - байка, вам треба: - щоб при виборі "так" зберігалася лише активна (на момент запуску скрипта) карта із запитом назви файла і закривалися без збереження змін всі інші карти? - щоб при виборі "ні" зберігалися із запитом назви файла всі відкриті карти (в тому числі активна) і закривалися всі карти, крім активної? Задачу, будь-ласка, конкретизуйте. Тоді скрипт раз-два складеться. Шановні розробники! Маю просити вас навести пояснення до застосування скриптової функції @EventPoint - "Возвращает координаты точки события в скрипте контроля". Вкрай як треба мати номер точки/точок, координати яких були змінені, у скрипті обробки події зміни об'єкта %Events.OnChange. Не уявляю собі як це зробити. Я собі розрізняю скрипт Digitals і сценарій контролю. Але скрипт контролю - це що? І якщо все-таки йдеться за сценарій контролю, то яким чином до нього застосувати скриптову функцію? Моє припущення, що мовляв "@EventPoint у скрипті обробки події: повертає координати точки об'єкта, зміна координат якої викликала подію OnChange; координати точки в карті, в якій клацнули мишею для позначення об'єкта, що викликало подію OnSelect... і т.д." не правильне |
Автор: | Dmitry_Zolotar [ 25 авг 2021 14:59 ] | ||
Заголовок сообщения: | Re: Все про скрипти | ||
Функція @EventPoint повертає координати точки на якій спрацювала одна з умов сценарію контроля. Сценарій контролю карти може викликати скрипти, для цього в сценарій потрібно додати розділ [SCRIPT] Приклад: Код: [SCRIPT] %BeginControl: ;ця частина скрипта виконується спочатку $Ver=@Version @if $Ver<43851 @Goto %Exit $Result=1 @Break %Exit @Dialog.Message Сценарій контроля не буде виконуватись!!! Потрібно оновити програму до версії від 21.01.2020 $Result=0 @Break %Mess: $EO=@EventObject $EP=@EventPoint @Dialog.Message $EO $EP $Result=1 @Break %Foo @Dialog.InfoBox 3000 Чекаємо 3 секунди @Break [Touch] L:L; Помилка примикання /SCRIPT %Mess /W %BeginControl виконується під час старту сценарію, а %Mess виконується коли спрацьовує помилка Touch /W в "L:L; Помилка примикання /SCRIPT %Mess /W" означає що повідомлення буде зеленого кольору усі варіанти: /W - попередження (зелений) /S - помилка (червоний) /A - автоматичне виправлення (синій) У вкладенні файл на якому сценарій видає дві помилки
|
Автор: | 13vp [ 31 авг 2021 17:30 ] |
Заголовок сообщения: | Re: Все про скрипти |
доброго дня розробники, у новій версії перестала працювати зв'язка: $O=@Map.SelectedObject $img=@Map.Object[$O].Parameter[1] $pr=rundll32.exe C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen @Run $pr $img якщо відкривання змінити на блокнот працює, з командної строки теж все працює |
Автор: | Denys Sanitskyi [ 12 окт 2021 08:20 ] | ||
Заголовок сообщения: | Re: Все про скрипти | ||
Доброго дня! Допоможіть будь ласка автоматизувати вирішення наступної задачі. Є лінія у точках якої розміщенні точкові об'єкти та ще є не задіяні точки цієї лінії які потрібно видалити.(Додаю картинку для прикладу.)
|
Автор: | Dmitry_Zolotar [ 12 окт 2021 13:51 ] |
Заголовок сообщения: | Re: Все про скрипти |
Код: ;номерчи айді точкового шару
$PointLayer=ID2 $BreakXYZ=-2684354.56 -2684354.56 0 $AM=@ActivateMap @if $AM=0 then @Break Відкрийте карту, помітьте об'єкт та запустіть скрипт знову $SO=@Map.SelectedObject $SC=@Map.SelCount @if $SC<>1 then @Break Помічено має бути один об'єкт @Map.Selected.MarkPoints CLEAR $PC=@Map.Object[$SO].Count $I=$PC %LoopPoint $NodeObj=@Map.Object[$SO].Node $I $PointLayer @if $NodeObj>0 then @Goto %IgnorePoint $XYZ=@Map.Object[$SO].Point[$I] $XYZ=%Library.ReplaceComma $XYZ @if $XYZ=$BreakXYZ then @Goto %IgnorePoint @Map.Object[$SO].Delete $I $I %IgnorePoint $I=$I-1 @if $I>0 then @Goto %LoopPoint @Map.RefreshObject $SO @Window.Refresh |
Автор: | Dmitry_Zolotar [ 12 окт 2021 14:51 ] | ||
Заголовок сообщения: | Re: Все про скрипти | ||
Приклад
|
Автор: | voha [ 22 окт 2021 20:08 ] |
Заголовок сообщения: | Re: Все про скрипти |
Доброго вечора. Людоньки добрі, пане Дмитре Золотар, спасайте терміново! Як визначити в точці з координатами X Y (центр декількох, накладених одна на іншу ліній з двох точок), номер самого верхнього об'єкта (того, що має найбільший номер)? Вже пробував NearestObject та все інше - ніяк! |
Автор: | Denys Sanitskyi [ 25 окт 2021 15:15 ] |
Заголовок сообщения: | Re: Все про скрипти |
Велике Вам ДЯКУЮ!!! |
Автор: | dkorsachev [ 25 окт 2021 15:23 ] | ||
Заголовок сообщения: | Re: Все про скрипти | ||
Здравствуйте, подскажите пожалуйста что поменялось в программе не работает скрипт в новой версии Digitals. В старой версии 2013 года всё работает. При выборе шаблона такая вот ошибка.
|
Автор: | Dmitry_Zolotar [ 26 окт 2021 16:54 ] |
Заголовок сообщения: | Re: Все про скрипти |
voha писал(а): Доброго вечора. Людоньки добрі, пане Дмитре Золотар, спасайте терміново! Як визначити в точці з координатами X Y (центр декількох, накладених одна на іншу ліній з двох точок), номер самого верхнього об'єкта (того, що має найбільший номер)? Вже пробував NearestObject та все інше - ніяк! Щось типу цього? Код: $SO=@Map.SelectedObject $XYZ=@Map.Object[$SO].Point[1] $MC=@Map.Count $I=0 $Res=0 %LoopObject $I=$I+1 $Dist=@Map.MinObjectDistance $I $XYZ ;крапка чи кома, що з них працює @if $Dist<0,001 then $Res=$I @if $I<$MC then @Goto %LoopObject @if $Res=0 then @Break Не знайдено об'єктів поруч з $XYZ @Dialog.Message $Res Перевірьте, якщо працює повільно, то щось придумаємо |
Автор: | Dmitry_Zolotar [ 26 окт 2021 16:57 ] |
Заголовок сообщения: | Re: Все про скрипти |
dkorsachev писал(а): Здравствуйте, подскажите пожалуйста что поменялось в программе не работает скрипт в новой версии Digitals. В старой версии 2013 года всё работает. При выборе шаблона такая вот ошибка. Ошибка возникает если нет указаной панели/кнопки, перепроверьте ее название. Проверил на новой версии - работает. |
Страница 79 из 83 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |