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

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

Автор:  voha [ 17 фев 2017 07:56 ]
Заголовок сообщения:  Re: Все про скрипти

fendak писал(а):
Voha, ви, мабуть, забули, що є такий варіант:
$P=Філія_Крижопільський_"Райагроліс"
$SS=
$N=@StringPartCount " $P
$I=0
%Loop
$I=$I+1
$S1=@StringPart $I"$P
$SS=$SS$S1
@if $I<$N then @Goto %Loop
$P=$SS
@Dialog.Message $P
Дуже добре :) . А тепер - для заміни символа " на будь-який інший?

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

voha писал(а):
А тепер - для заміни символа " на будь-який інший?

$P=Філія_Крижопільський_"Райагроліс"
$SS=
$Z=#
$N=@StringPartCount " $P
$I=0
%Loop
$I=$I+1
$S1=@StringPart $I"$P
@if $I<>1 then $SS=$SS$Z
$SS=$SS$S1
@if $I<$N then @Goto %Loop
$P=$SS
@Dialog.Message $P

Автор:  voha [ 19 фев 2017 10:04 ]
Заголовок сообщения:  Re: Все про скрипти

Прошу розробників виправити скриптову функцію @Dialog.Ask Text [Default=Value Size=WidthInPixels] - "Вызывает окно с полем для ввода текста и возвращает введенный пользователем текст. Ключ Default= позволяет задать начальное значение текста, а ключ Size - ширину окна в пикселах".

Наразі функція працює так: "Вызывает окно с полем для ввода текста и возвращает введенный пользователем текст..." або припиняє роботу скрипта, якщо у вікні натиснуто кнопку <Скасувати> чи кнопку <Закрити> системного меню вікна.

Не правильно це :!: "Скасувати уведення даних" ніяк не може означати "Скасувати виконання скрипта"

Автор:  Dmitry_Zolotar [ 20 фев 2017 11:04 ]
Заголовок сообщения:  Re: Все про скрипти

У вікні @Dialog.Ask можна вказати будь-яку (у т.ч. й порожню) строку та натиснути Ок. Навіщо продовжувати виконання скрипта після закриття вікна чи натискання Cancel?

Автор:  voha [ 20 фев 2017 11:55 ]
Заголовок сообщения:  Re: Все про скрипти

Dmitry_Zolotar писал(а):
У вікні @Dialog.Ask можна вказати будь-яку (у т.ч. й порожню) строку та натиснути Ок. Навіщо продовжувати виконання скрипта після закриття вікна чи натискання Cancel?
Вся логіка роботи з діалоговим вікном уведення даних (для операційної системи Windows загалом) така:
- або уводимо дані та підтверджуємо уведені дані натисканням на кнопку <OK> (застосувати, продовжити, прийняти, готово, погоджено і т.д.);
- або не вводимо дані (користувач знає, що даних і не потрібно вводити, коли даних немає - і скрипт передбачає, що даних може й не бути), і тоді відмовляємось від уведення даних кнопкою <Cancel> (скасувати, відмінити, вийти, припинити і т.д.).

Таким чином, якщо скасувати, відмінити, вийти, припинити і т.д. на кнопці діалогового вікна для введення даних - то всі наведені синоніми кнопки <Cancel> мали б припинити уведення даних, а не роботу скрипта :!:

Якщо прийняти так як є, то кнопка має бути одна - <OK>, інакше - скласти алгоритм роботи скрипта, не знаючи коли він (алгоритм) перерветься це марна справа. Так є ж функція @Break.

Все просто: користувач вводить дані у вікні, далі скрипт перевіряє уведені дані аналізуючи їх та - продовжує роботу, або припиняє роботу командою @Break. Для чого кнопка <Cancel> - щоб не можна було скласти алгоритм :?:

Автор:  fendak [ 20 фев 2017 15:07 ]
Заголовок сообщения:  Re: Все про скрипти

Справді, в діалоговому вікні, яке питає інформацію, Cansel має дорівнювати пустому значенню. Інколи спостерігаю, як користувачі скрипту, натиснувши "Cansel", не бажали припинити роботу скрипту. А просто не знали, що ввести у відповідне поле.

Наприклад, вікно з паспортними даними землекористувача. Якщо при веденні їх нема, то більшість авмоматично нажимають Cansel.

Було б зручніше повертати пусте значення діалогу клавішою Cansel, ніж витирати з цією ціллю значення по замовчуванню, яке підтягується в поле введення.

Автор:  _Pavel_ [ 20 фев 2017 16:10 ]
Заголовок сообщения:  Подскажите как правильно заполнять @Map.SelectByParameters

Подскажите как правильно заполнять параметры @Map.SelectByParameters
Необходимо на карте пометить объект по Фамилии Имени Отчеству собственника

Автор:  Руслан Пархуць [ 20 фев 2017 20:08 ]
Заголовок сообщения:  @Map.SelectByParameters

@Map.SelectByParameters(@Map.FindByParameters) Count|List - шукає об'єкти по значеннях їх параметрів.

@Map.SelectByParameters 2|-7=1006|5=Тест2, де
2 - к-сть умов для пошуку
I-ша умова
-7(ID шару) = 1006
II-га умова
5(поле з ПIБ) = Тест2

Автор:  Rostyslav [ 23 фев 2017 15:30 ]
Заголовок сообщения:  Re: Все про скрипти

Як витягнути 4621510100 з строки КОАТУУ=4621510100 ?

Автор:  Руслан Пархуць [ 23 фев 2017 19:49 ]
Заголовок сообщения:  Re: Все про скрипти

Rostyslav писал(а):
Як витягнути 4621510100 з строки КОАТУУ=4621510100 ?

Код:
$Str=КОАТУУ=4621510100
$Val=@Calc Delete("$Str",1,Pos("=","$Str"))

Автор:  Rostyslav [ 23 фев 2017 19:52 ]
Заголовок сообщения:  Re: Все про скрипти

дякую

Автор:  Dmitry_Zolotar [ 23 фев 2017 23:34 ]
Заголовок сообщения:  Re: Все про скрипти

Кавычки еще видимо надо убрать
$Str=КОАТУУ=4621510100
$Val=@Calc Delete("$Str",1,Pos("=","$Str"))
$Val=@DequoteText $Val


либо так
$Str=КОАТУУ=4621510100
$Val=@StringPart 2=$Str

Автор:  Руслан Пархуць [ 24 фев 2017 21:53 ]
Заголовок сообщения:  Re: Все про скрипти

:) або так
$Str=КОАТУУ=4621510100
$P=@Map.Object[1].CalculateFormula CUT(8,10,$Str)

Автор:  Rostyslav [ 03 мар 2017 22:04 ]
Заголовок сообщения:  Re: Все про скрипти

не коректна робота
@Map.Object[$SO].SetXMLTag ID7000520 PassportIssuedDate 14.02.2015
@Map.Object[$SO].SetXMLTag ID7000520 IssuanceAuthority Жидачівським РВ УМВС України у Львівській області
теги PassportIssuedDate та IssuanceAuthority додаються після закриваючого тегу Passport
Изображение

Автор:  Dmitry_Zolotar [ 05 мар 2017 00:59 ]
Заголовок сообщения:  Re: Все про скрипти

Потрібно вказати шлях до вузла

@Map.DeselectAll
@Map.SelectLayer ID70005
$SO=@Map.SelectedObject
@Map.Object[$SO].SetXMLTag ID7000520 ProprietorInfo/Authentication/NaturalPerson/Passport/PassportIssuedDate 2015-02-14
@Map.Object[$SO].SetXMLTag ID7000520 ProprietorInfo/Authentication/NaturalPerson/Passport/IssuanceAuthority Дніпропетровським РВ УМВС України в Дніпропетровській області

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