Головна » Файли » Готові скрипти

Пошук точки ділянки, яка дублюється
30.01.2020, 20:16

Інколи при перевірці файлу XML в XMLCheker пише, що у файлі не знайдено ділянку. Найчастіше причиною такої помилки є те, що якась із точок ділянки просто дублюється два рази.

Скрипт знаходить таку точку, маркуючи її.

@Map.DeselectAll
$Break=-2684354.56 -2684354.56 0
@Map.SelectLayer id70005
$MON=@Map.SelectedObject
@Map.Selected.MarkPoints CLEAR
$XYToch1=@Map.Object[$MON].Point[1]
$PntCount=@Map.Object[$MON].Count
$NP=1
%StartPointZD
$XY=@Map.Object[$MON].Point[$NP]
@if ("$XY"="$XYToch1") and ("$NP"<>"1") then @Goto %NextPointZD
@if $XY=$Break then @Goto %NextPointZD
$NPNext=$NP+1
@if $NP>$PntCount then @Goto %NextPointZD
$XYNext=@Map.Object[$MON].Point[$NPNext]
@if $XY=$XYNext then @Map.Selected.MarkPoints $NP
%NextPointZD
$NP=$NP+1
@if $NP<$PntCount then @Goto %StartPointZD
$Res=Все гаразд!
$Marked=@Map.Object[$MON].GetMarkedPointsCount
@if $Marked>0 then $Res=Знайдено $Marked точок ділянки, які дублюються. Знайдені точки замарковано.
@Dialog.Message $Res

Категорія: Готові скрипти | Додав: Микола
Переглядів: 1408 | Завантажень: 0 | Коментарі: 6 | Рейтинг: 5.0/1
Всього коментарів: 6
avatar
4 skoropadikalona • 15:54, 01.04.2020
Доброго для. Як зберегти даний скрипт?
avatar
5 ryvol75 • 16:08, 01.04.2020
Напишіть мені на електронку ryvol75@gmail.com - відправлю Вам готову "кнопку".
avatar
0
6 Микола • 21:58, 01.04.2020
Доброго вечора!
Для цього в головному меню програми Digitals (вгорі) виберіть пункт Вікно – Створити панель інструментів. Далі слід придумати назву для нової панелі і ввести її у вікно, що появилося. Натискаємо Зберегти.
В результаті в нас повинно появитися маленьке сіре вікно (панель інструментів), яке можна переміщувати. 
Дальше на цій панелі інструментів треба створити кнопку. Для цього натискаємо всередині цього вікна правою клавішею і вибираємо команду Додатки кнопку. В результаті появиться вікно, як на зображенні нижче.


Код скрипту потрібно вставити в праву частину вікна і натиснути ОК.
avatar
3 ryvol75 • 09:44, 30.03.2020
Дякую. 
Дописав, - все працює.
avatar
1 ryvol75 • 11:23, 28.03.2020
Дякую. 
Перевірено - працює.
Для себе добавив у скрипт
на Початку:
;Перевірка наявності відкритої карти
$CountMap=@MapCount
@If $CountMap=0 then @Break Нема жодної відритої карти

в Кінці:
;Автоматичне відкриття Властивості об'єкта (Завжди - незнаю як вписать умову щоб Властивості відкривались тільки у випадку знайдених Дублів)
Правка | Властивості об'єкта...
avatar
0
2 Микола • 14:00, 29.03.2020
@if $Marked=0 then @Goto %Good
Правка | Властивості об'єкта...
%Good
@Dialog.Message $Res
avatar