Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 18 окт 2021 19:03

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 1180 ]  На страницу Пред.  1 ... 75, 76, 77, 78, 79
Автор Сообщение
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 22 июн 2021 16:32 
Специалист
Специалист

Зарегистрирован:
02 ноя 2020 15:55
Сообщения: 22
Як через скрипти замінити параметри?
Наприклад:
на карті є три ділянки
Кожна з них має різне значення у параметрі НД(4)
такі як 1,2,3 їх мотрібно замінити на двозначні 01,02,03


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 22 июн 2021 16:56 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2248
Откуда: Vinnytsia
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

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 22 июн 2021 17:19 
Эксперт
Эксперт

Зарегистрирован:
07 сен 2007 18:45
Сообщения: 54
Откуда: Україна
Доброго дня!
Чи є функція, яка перевіряє наявність паролів у файлі (не відриваючи їх)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 19 авг 2021 08:38 
Участник
Участник

Зарегистрирован:
15 июн 2012 00:35
Сообщения: 7
Допоможіть зробити скрипт щоб при виборі "так" зберігало один файл. А коли "ні" зберігало декілька, а першу карту залишало. Не можу добитися щоб при виборі "ні" відкривало вікно для збереження активної карти.

$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


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 24 авг 2021 18:34 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 801
Откуда: Ліспроект Володимир Вовчанський
Доброго дня.
kochyr писал(а):
Допоможіть зробити скрипт щоб при виборі "так" зберігало один файл. А коли "ні" зберігало декілька, а першу карту залишало. Не можу добитися щоб при виборі "ні" відкривало вікно для збереження активної карти.
Ваше прохання, з огляду на те, як написаний скрипт, викликає купу запитань у відповідь:
- хіба $OriginalMap може колись бути більшим за $MapCount?
Але то - байка, вам треба:
- щоб при виборі "так" зберігалася лише активна (на момент запуску скрипта) карта із запитом назви файла і закривалися без збереження змін всі інші карти?
- щоб при виборі "ні" зберігалися із запитом назви файла всі відкриті карти (в тому числі активна) і закривалися всі карти, крім активної?
Задачу, будь-ласка, конкретизуйте. Тоді скрипт раз-два складеться.

Шановні розробники!

Маю просити вас навести пояснення до застосування скриптової функції @EventPoint - "Возвращает координаты точки события в скрипте контроля".

Вкрай як треба мати номер точки/точок, координати яких були змінені, у скрипті обробки події зміни об'єкта %Events.OnChange. Не уявляю собі як це зробити.

Я собі розрізняю скрипт Digitals і сценарій контролю. Але скрипт контролю - це що? І якщо все-таки йдеться за сценарій контролю, то яким чином до нього застосувати скриптову функцію?

Моє припущення, що мовляв "@EventPoint у скрипті обробки події: повертає координати точки об'єкта, зміна координат якої викликала подію OnChange; координати точки в карті, в якій клацнули мишею для позначення об'єкта, що викликало подію OnSelect... і т.д." не правильне :wink:


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 25 авг 2021 14:59 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2248
Откуда: Vinnytsia
Функція @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 - автоматичне виправлення (синій)

У вкладенні файл на якому сценарій видає дві помилки


Вложения:
ControlTest.dmf [728 байт]
Скачиваний: 38

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 31 авг 2021 17:30 
Эксперт
Эксперт

Зарегистрирован:
04 ноя 2010 12:28
Сообщения: 75
Откуда: Київ
доброго дня розробники,

у новій версії перестала працювати зв'язка:

$O=@Map.SelectedObject
$img=@Map.Object[$O].Parameter[1]
$pr=rundll32.exe C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen
@Run $pr $img

якщо відкривання змінити на блокнот працює, з командної строки теж все працює


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 12 окт 2021 08:20 
Специалист
Специалист

Зарегистрирован:
19 ноя 2018 13:26
Сообщения: 21
Доброго дня! Допоможіть будь ласка автоматизувати вирішення наступної задачі. Є лінія у точках якої розміщенні точкові об'єкти та ще є не задіяні точки цієї лінії які потрібно видалити.(Додаю картинку для прикладу.)


Вложения:
2021-10-12 (2).png
2021-10-12 (2).png [ 8.85 Кб | Просмотров: 87 ]
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 12 окт 2021 13:51 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2248
Откуда: Vinnytsia
Код:
;номерчи айді точкового шару
$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

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 12 окт 2021 14:51 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2248
Откуда: Vinnytsia
Приклад


Вложения:
Комментарий к файлу: На цьому файлі скрипт працює, для Вашої карти потрібно змінити другу строку: $PointLayer=...
Nodes.dmf [1.46 Кб]
Скачиваний: 10

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1180 ]  На страницу Пред.  1 ... 75, 76, 77, 78, 79

Часовой пояс: UTC + 2 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB