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

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

Автор:  geotech [ 30 май 2018 10:25 ]
Заголовок сообщения:  Re: Все про скрипти

Доброго дня. Чи існує функція, яка створить чистий файл? Або з існуючого файлу видалить всі шари із менеджера шарів.

Автор:  Руслан Пархуць [ 30 май 2018 11:28 ]
Заголовок сообщения:  Re: Все про скрипти

geotech писал(а):
Доброго дня. Чи існує функція, яка створить чистий файл? Або з існуючого файлу видалить всі шари із менеджера шарів.

ф-цiя @Map.Layers.Delete Number [Safe]
Код:
$Count=@MapCount
@if $Count=0 @Break
$C=@Map.Layers.Count
@If $C=0 @Break
$D=@Dialog.Confirm Витерти всi пустi шари карти?
@If $D=0 @Break
%Start:
@Map.Layers.Delete $C Safe
$C=$C-1
@if $C>0 @Goto %Start

Автор:  geotech [ 30 май 2018 11:33 ]
Заголовок сообщения:  Re: Все про скрипти

Руслан Пархуць писал(а):
geotech писал(а):
Доброго дня. Чи існує функція, яка створить чистий файл? Або з існуючого файлу видалить всі шари із менеджера шарів.

ф-цiя @Map.Layers.Delete Number [Safe]
Код:
$Count=@MapCount
@if $Count=0 @Break
$C=@Map.Layers.Count
@If $C=0 @Break
$D=@Dialog.Confirm Витерти всi пустi шари карти?
@If $D=0 @Break
%Start:
@Map.Layers.Delete $C Safe
$C=$C-1
@if $C>0 @Goto %Start

Дякую.

Автор:  geotech [ 30 май 2018 13:04 ]
Заголовок сообщения:  Re: Все про скрипти

Є таке питання по шарах. Деякі шари в менеджері мають назву, яка містить різні символи та пробіли після назви. Під час збереження в шейп таку назву зберігати не хоче - видає повідомлення про неможливість збереження. Як краще вирішити таку задачу. В принципі назви шарів можна взагалі не зберігати - основне ID. Чи можна отримати ID шару за його порядковим номером? Дякую.

Автор:  Руслан Пархуць [ 30 май 2018 13:13 ]
Заголовок сообщения:  Re: Все про скрипти

geotech писал(а):
Чи можна отримати ID шару за його порядковим номером? Дякую.
@Map.Layers.Get Number

Автор:  geotech [ 30 май 2018 13:25 ]
Заголовок сообщения:  Re: Все про скрипти

Руслан Пархуць писал(а):
geotech писал(а):
Чи можна отримати ID шару за його порядковим номером? Дякую.
@Map.Layers.Get Number

Дякую. Але як з цього виділити тільки ID, а відкинути номер і назву шару?

Автор:  Руслан Пархуць [ 30 май 2018 15:21 ]
Заголовок сообщения:  Re: Все про скрипти

geotech писал(а):
Руслан Пархуць писал(а):
geotech писал(а):
Чи можна отримати ID шару за його порядковим номером? Дякую.
@Map.Layers.Get Number

Дякую. Але як з цього виділити тільки ID, а відкинути номер і назву шару?

Код:
$Line=@Map.Layers.Get 1
$ID=@StringPart 1 $Line
$TP=@StringPart 2 $Line
$NM=@StringPart 3 $Line
@Dialog.Message $Line|$ID|$TP|$NM

Автор:  geotech [ 30 май 2018 18:20 ]
Заголовок сообщения:  Re: Все про скрипти

Руслан Пархуць писал(а):
geotech писал(а):
Руслан Пархуць писал(а):
geotech писал(а):
Чи можна отримати ID шару за його порядковим номером? Дякую.
@Map.Layers.Get Number

Дякую. Але як з цього виділити тільки ID, а відкинути номер і назву шару?

Код:
$Line=@Map.Layers.Get 1
$ID=@StringPart 1 $Line
$TP=@StringPart 2 $Line
$NM=@StringPart 3 $Line
@Dialog.Message $Line|$ID|$TP|$NM


Дякую. Щось про цей варіант не подумав:)

Автор:  voha [ 07 июн 2018 21:15 ]
Заголовок сообщения:  Re: Все про скрипти

voha писал(а):
...натикнувся на об'єкт, у якого MAP.GETOBJECTCOORDINATES повертає першу точку 8 5601677,82 3290581,80 0,00...
Що мається під значенням 8 у рядку блока координат, повернутого функцією MAP.GETOBJECTCOORDINATES? Підкажіть, будь-ласка, буду вдячний.
Dmitry_Zolotar писал(а):
Первое значение - статус точки, битовая маска, содержащая информацию о маркированности, видимости точек и некоторая другая информация.
Перепрошую, якби значення 8 не спричиняло помилку "Access violation at address 0040C3AA in module 'Ged.exe'. Read of address C28F5C21" при з'єднанні лінійних об'єктів, питання б не виникало. Однак: чи можна однією командою обнулити згадану інформацію про всі точки всіх об'єктів карти? Чи єдиний вихід - переприсвоєння координат кожній точці всіх об'єктів?

Розумію, що інформація службова, тому моє питання може видатись не коректним.
Якби так хоч знати: за яких обставин (чи то - "криворуких" дій при зборі об'єктів) реєстрована точка характеризується маскою "8"?

P.S. Очевидно, проблема з "Розділити", "З'єднати" не в масці точок.
Прошу розробників подивіться, будь-ласка, в карті
Вложение:
Problem_Split-Join.dmf [16.41 Кб]
Скачиваний: 602
Допомагає лише перестворення об'єкта (@Map.AddObject) з обнуленими масками.

Автор:  geotech [ 11 июн 2018 11:22 ]
Заголовок сообщения:  Re: Все про скрипти

Доброго дня. Підкажіть будь-ласка, як добавити до шару параметр (за порядковим номером шару і параметра)?

Автор:  Dmitry_Zolotar [ 11 июн 2018 13:54 ]
Заголовок сообщения:  Re: Все про скрипти

geotech писал(а):
Доброго дня. Підкажіть будь-ласка, як добавити до шару параметр (за порядковим номером шару і параметра)?

$Layer=2
$Parameter=0
$VL=@Map.Layers.GetValidParameters $L
@Map.Layers.SetValidParameters $VL $P

Автор:  geotech [ 30 июн 2018 10:14 ]
Заголовок сообщения:  Re: Все про скрипти

Dmitry_Zolotar писал(а):
geotech писал(а):
Доброго дня. Підкажіть будь-ласка, як добавити до шару параметр (за порядковим номером шару і параметра)?

$Layer=2
$Parameter=0
$VL=@Map.Layers.GetValidParameters $L
@Map.Layers.SetValidParameters $VL $P


Дякую.

Автор:  geotech [ 30 июн 2018 10:17 ]
Заголовок сообщения:  Re: Все про скрипти

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

Автор:  fendak [ 30 июн 2018 10:43 ]
Заголовок сообщения:  Re: Все про скрипти

@Calc Delete("s","x",["y"]) – видаляє частину рядка (число символів y, починаючи з символа x).
у вашому випадку $Zminna=@Calc Delete("$Zminna",1,1)

Автор:  geotech [ 30 июн 2018 14:53 ]
Заголовок сообщения:  Re: Все про скрипти

fendak писал(а):
@Calc Delete("s","x",["y"]) – видаляє частину рядка (число символів y, починаючи з символа x).
у вашому випадку $Zminna=@Calc Delete("$Zminna",1,1)

Дякую. Іду пробувати.

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