Аналитика http://geosystema.net/forum/ |
|
Нужна помощь http://geosystema.net/forum/viewtopic.php?f=1&t=2933 |
Страница 22 из 50 |
Автор: | Руслан Пархуць [ 26 мар 2018 13:41 ] |
Заголовок сообщения: | Re: Нужна помощь |
Виталий писал(а): Как записать выражение? @If "параметр ID3757577 слоя ID7575001 "четный" Написати функцiю (бiблiотеку), яка повертає значення 1-парне, 0-не парне Код: $A=$PARAMETERS
$IsEven=1 $C=@Calc Frac("$A"/2) @If "$C"="0" Then @Goto %End $IsEven=0 %End $RESULT=$IsEven |
Автор: | fendak [ 26 мар 2018 14:06 ] |
Заголовок сообщения: | Re: Нужна помощь |
або так (якраз паралельно з Русланом набрав): $Value=@Map.Object[N].Parameter[N] $Parnyi=$Value/2 $Parnyi=@StringPartCount . $Parnyi $Parnyi=ні @if $Parnyi=1 then $Parnyi=так |
Автор: | Виталий [ 26 мар 2018 15:34 ] | ||
Заголовок сообщения: | Re: Нужна помощь | ||
fendak писал(а): або так (якраз паралельно з Русланом набрав): $Value=@Map.Object[N].Parameter[N] $Parnyi=$Value/2 $Parnyi=@StringPartCount . $Parnyi $Parnyi=ні @if $Parnyi=1 then $Parnyi=так Видає помилку
|
Автор: | Руслан Пархуць [ 26 мар 2018 18:20 ] |
Заголовок сообщения: | Re: Нужна помощь |
Виталий писал(а): fendak писал(а): або так (якраз паралельно з Русланом набрав): $Value=@Map.Object[N].Parameter[N] $Parnyi=$Value/2 $Parnyi=@StringPartCount . $Parnyi $Parnyi=ні @if $Parnyi=1 then $Parnyi=так Видає помилку @Map.Object[N] N-повинне бути цiлим значенням (порядковий номер об'єкту) |
Автор: | petrogeo [ 26 мар 2018 21:16 ] |
Заголовок сообщения: | Re: Нужна помощь |
Руслан Пархуць писал(а): petrogeo писал(а): При відкритті обмінного файлу формату IN4, заповнена інформація в ньому відображається не коректно В параметрах Digitals на вкладцi "Читання" поставте "галочку" "Нова версiя (Windows)" P.S. Те ж саме i на вкладцi "Зберегти" (коли захочете зберегти якiсь змiни). В мене так виставлено, всеодно не допомагає, при знятті проблема лишається. |
Автор: | Руслан Пархуць [ 26 мар 2018 21:26 ] |
Заголовок сообщения: | Re: Нужна помощь |
petrogeo писал(а): Руслан Пархуць писал(а): petrogeo писал(а): При відкритті обмінного файлу формату IN4, заповнена інформація в ньому відображається не коректно В параметрах Digitals на вкладцi "Читання" поставте "галочку" "Нова версiя (Windows)" P.S. Те ж саме i на вкладцi "Зберегти" (коли захочете зберегти якiсь змiни). В мене так виставлено, всеодно не допомагає, при знятті проблема лишається. Зрозумiло. У Вас файл з кодуванням тексту UTF-8 (напевно пiсля конвертацiї "Менеджером обмінних файлів"). Для коректного читання тексту вiдкрийте файл блокнотом i перезбережiть, поставивши кодування тексту ANSI. ... або застосувавши функцiю @Map.ConvertUTFParameters, коли вже вiдкритий об'єкт з текстом у виглядi "ділянкР" (в кодовiй сторiнцi UTF-8), що буде самим доречним в даному випадку P.S. Якщо скриптовими функцiями, тодi так Код: $FName=@Dialog.OpenFile *.in4
@If $FName= then @Break @Text.Load $FName $Buf=@Text.Text $Buf=@UTF8ToString $Buf @Text.Text=$Buf @Text.Save $FName |
Автор: | petrogeo [ 27 мар 2018 08:33 ] |
Заголовок сообщения: | Re: Нужна помощь |
Руслан Пархуць писал(а): petrogeo писал(а): Руслан Пархуць писал(а): petrogeo писал(а): При відкритті обмінного файлу формату IN4, заповнена інформація в ньому відображається не коректно В параметрах Digitals на вкладцi "Читання" поставте "галочку" "Нова версiя (Windows)" P.S. Те ж саме i на вкладцi "Зберегти" (коли захочете зберегти якiсь змiни). В мене так виставлено, всеодно не допомагає, при знятті проблема лишається. Зрозумiло. У Вас файл з кодуванням тексту UTF-8 (напевно пiсля конвертацiї "Менеджером обмінних файлів"). Для коректного читання тексту вiдкрийте файл блокнотом i перезбережiть, поставивши кодування тексту ANSI. ... або застосувавши функцiю @Map.ConvertUTFParameters, коли вже вiдкритий об'єкт з текстом у виглядi "ділянкР" (в кодовiй сторiнцi UTF-8), що буде самим доречним в даному випадку P.S. Якщо скриптовими функцiями, тодi так Код: $FName=@Dialog.OpenFile *.in4 @If $FName= then @Break @Text.Load $FName $Buf=@Text.Text $Buf=@UTF8ToString $Buf @Text.Text=$Buf @Text.Save $FName Дякую. Те що треба, все працює. |
Автор: | Виталий [ 27 мар 2018 09:17 ] |
Заголовок сообщения: | Re: Нужна помощь |
Руслан Пархуць писал(а): Виталий писал(а): fendak писал(а): або так (якраз паралельно з Русланом набрав): $Value=@Map.Object[N].Parameter[N] $Parnyi=$Value/2 $Parnyi=@StringPartCount . $Parnyi $Parnyi=ні @if $Parnyi=1 then $Parnyi=так Видає помилку @Map.Object[N] N-повинне бути цiлим значенням (порядковий номер об'єкту) Написал вот так, но условие не віполняеться. Подпись Видна при четном и не четном значении МежЗнака @Map.DeselectAll @Map.SelectLayer ID7575001 $MZ=@Map.SelectedObject @If $MZ=0 @Break На карті немає МезЗнака $Value=@Map.Object[$MZ].Parameter[ID3757577] $Parnyi=$Value/2 $Parnyi=@StringPartCount . $Parnyi $Parnyi=ни @if $Parnyi=1 then $Parnyi=да @If $Parnyi=да then @Map.SelectLayer ID555007 @Map.Layers.SetState ID555007 0 @Map.DeselectAll Прошу исправьте что не так. Очень надо. На объекте много МежЗнаков и сточки экономии бумаги хочу поместить на один лист два крока, но подпись чтоб была одна. СПАСИБО!!!!!!! |
Автор: | Руслан Пархуць [ 27 мар 2018 10:06 ] |
Заголовок сообщения: | Re: Нужна помощь |
Виталий писал(а): Подпись Видна при четном и не четном значении МежЗнака Не зовсiм зрозумiв, що програма мала робити у Вашому випадку, оскiльки перевiряються значення одного шару, а мiняється стиль зовсiм iншого. Даний скрипт "ховає" пiдписи непарних значень межових знакiв. Код: @Map.DeselectAll
@Map.SelectLayer ID7575001 $MZ=@Map.SelCount @If $MZ=0 @Break На карті немає МезЗнака $Obj=0 %CyclePoint $Obj=@Map.NextSelected $Obj @If $Obj=0 Then @Goto %Exit $Value=@Map.Object[$Obj].Parameter[ID3757577] ; $C=@Calc Frac("$Value"/2) @If "$C"="0" Then $IsEven=1 Else $IsEven=0 ; @If $IsEven=0 Then @Map.Object[$Obj].RemoveCaption ID3757577 @If $Obj>0 Then @Goto %CyclePoint %Exit @Break |
Автор: | Виталий [ 27 мар 2018 10:34 ] | ||
Заголовок сообщения: | Re: Нужна помощь | ||
Руслан Пархуць писал(а): Виталий писал(а): Подпись Видна при четном и не четном значении МежЗнака Не зовсiм зрозумiв, що програма мала робити у Вашому випадку, оскiльки перевiряються значення одного шару, а мiняється стиль зовсiм iншого. Даний скрипт "ховає" пiдписи непарних значень межових знакiв. Код: @Map.DeselectAll @Map.SelectLayer ID7575001 $MZ=@Map.SelCount @If $MZ=0 @Break На карті немає МезЗнака $Obj=0 %CyclePoint $Obj=@Map.NextSelected $Obj @If $Obj=0 Then @Goto %Exit $Value=@Map.Object[$Obj].Parameter[ID3757577] ; $C=@Calc Frac("$Value"/2) @If "$C"="0" Then $IsEven=1 Else $IsEven=0 ; @If $IsEven=0 Then @Map.Object[$Obj].RemoveCaption ID3757577 @If $Obj>0 Then @Goto %CyclePoint %Exit @Break
|
Автор: | Руслан Пархуць [ 27 мар 2018 10:57 ] |
Заголовок сообщения: | Re: Нужна помощь |
Виталий писал(а): Подпись Видна при четном и не четном значении МежЗнака Тодi так Код: @Map.DeselectAll @Map.SelectLayer ID7575001 $MZ=@Map.SelCount @If $MZ=0 @Break На карті немає МезЗнака $MZ=@Map.NextSelected $Value=@Map.Object[$MZ].Parameter[ID3757577] ; $C=@Calc Frac("$Value"/2) @If "$C"="0" Then $IsEven=1 Else $IsEven=0 ; @If $IsEven=0 Then @Map.Layers.SetState ID555007 3 Else @Map.Layers.SetState ID555007 0 @Map.SelectLayer ID555007 $UZ=@Map.NextSelected @Map.RefreshObject $UZ @Break хоча не думаю, що це спрацює, оскiльки на листi у Вас буде два межових знаки, i пiдписiв два. Вони будуть або видимi обоє, або схованi. Потрiбно щось мiняти в алгоритмi задачi, тобто витирати або переносити на невидимий шар надпис "Склав". |
Автор: | Виталий [ 27 мар 2018 11:28 ] |
Заголовок сообщения: | Re: Нужна помощь |
Руслан Пархуць писал(а): Виталий писал(а): Подпись Видна при четном и не четном значении МежЗнака Тодi так Код: @Map.DeselectAll @Map.SelectLayer ID7575001 $MZ=@Map.SelCount @If $MZ=0 @Break На карті немає МезЗнака $MZ=@Map.NextSelected $Value=@Map.Object[$MZ].Parameter[ID3757577] ; $C=@Calc Frac("$Value"/2) @If "$C"="0" Then $IsEven=1 Else $IsEven=0 ; @If $IsEven=0 Then @Map.Layers.SetState ID555007 3 Else @Map.Layers.SetState ID555007 0 @Map.SelectLayer ID555007 $UZ=@Map.NextSelected @Map.RefreshObject $UZ @Break хоча не думаю, що це спрацює, оскiльки на листi у Вас буде два межових знаки, i пiдписiв два. Вони будуть або видимi обоє, або схованi. Потрiбно щось мiняти в алгоритмi задачi, тобто витирати або переносити на невидимий шар надпис "Склав". СПАСИБО!!!!!! ВСЕ ОК. |
Автор: | Виталий [ 27 мар 2018 13:32 ] |
Заголовок сообщения: | Re: Нужна помощь |
Подскажите, где ошибка @Map.DeselectAll @Map.SelectLayer ID60000 ;параметр, значение которого копируется $SrcParam=ID49084583 ;параметр, в исходной карте принимающий значение $DestParam=ID49084583 $N=@Map.SelCount ;копируем значение параметра внешнего объекта @Map.SelectLayer ID60000 $ParentObj=@Map.SelectLayer ID60000 $P=@Map.Object[$ParentObj].Parameter[$SrcParam] ;возвращаемся к исходной карте @Map.DeselectAll @Map.SelectLayer ID20000 ;вставляем скопированный параметр $ThisObj=@Map.SelectedObject @Map.Object[$ThisObj].Parameter[$DestParam] $P @Map.DeselectAll ;обновляем объект @Map.RefreshObject $ThisObj @Map.DeselectAll |
Автор: | Руслан Пархуць [ 27 мар 2018 22:57 ] |
Заголовок сообщения: | Re: Нужна помощь |
Виталий писал(а): Подскажите, где ошибка ... $ParentObj=@Map.SelectLayer ID60000 $P=@Map.Object[$ParentObj].Parameter[$SrcParam] ... @Map.SelectLayer Numbers - виділяє всі об'єкти, що знаходяться в шарі Numbers. Numbers - порядковий номер чи ID шару якщо потрiбно об'єкт iз списку видiлених, використовуйте @Map.NextSelected ($ParentObj=@Map.NextSelected - перший елемент зi списку) або @Map.SelectedObject (як для змiнної $ThisObj з коду). Така ж помилка була у Вас у попередньому повiдомленнi. |
Автор: | Виталий [ 28 мар 2018 09:23 ] |
Заголовок сообщения: | Re: Нужна помощь |
Руслан Пархуць писал(а): Виталий писал(а): Подскажите, где ошибка ... $ParentObj=@Map.SelectLayer ID60000 $P=@Map.Object[$ParentObj].Parameter[$SrcParam] ... @Map.SelectLayer Numbers - виділяє всі об'єкти, що знаходяться в шарі Numbers. Numbers - порядковий номер чи ID шару якщо потрiбно об'єкт iз списку видiлених, використовуйте @Map.NextSelected ($ParentObj=@Map.NextSelected - перший елемент зi списку) або @Map.SelectedObject (як для змiнної $ThisObj з коду). Така ж помилка була у Вас у попередньому повiдомленнi. ок! Спасибо. |
Страница 22 из 50 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |