Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 28 апр 2024 16:31

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




Начать новую тему Ответить на тему  [ Сообщений: 1236 ]  На страницу Пред.  1 ... 44, 45, 46, 47, 48, 49, 50 ... 83  След.
Автор Сообщение
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 19 фев 2016 16:29 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Sergey писал(а):
voha писал(а):
Хіба exe-модуль присвоює значення полів у шаблоні Word?

Нет, не совсем! На основе шаблона создается документ и в нем присваиваю значения полям. И как доказательство код приведенные выше...
Дуже дякую. Просто у VBA досить складно встановлювати зв'язок з Digitals. Я ще раз переконуюсь, що для вичитування даних з Digitals, та й для управління Word або Excel, легше, краще, швидше і зручніше використовувати Delphi, ніж безпосередньо VBA в Office.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 26 фев 2016 20:05 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
При формуванні списку координат за допомогою скриптів він має такий вигляд (на зображенні). Функції скриптів обрізають нулі.

Як зробити, щоб на звіті в кінцевому результаті не з'їдало нулі? Як присвоїти числу числовий формат із двома/трьома символами після коми?


Вложения:
2016-02-26_194853.png
2016-02-26_194853.png [ 13.04 Кб | Просмотров: 8728 ]

_________________
додатково про скрипти Digitals на www.digitals.at.ua
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 27 фев 2016 11:20 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
fendak писал(а):
При формуванні списку координат за допомогою скриптів він має такий вигляд (на зображенні). Функції скриптів обрізають нулі...
Трохи не так. Функції скриптів не обрізають нулі, бо функції скриптів оперують координатами як числами і не мають можливості вказувати формат, в якому число буде виглядати. Та й виглядати - де, в якій програмі?
Формат числа стосується відображення числа, а в скрипті Digitals нема можливості вказати формат для відображення числа чи запису його в текстовий файл. В якій програмі координати виводяться в певному вигляді - в тій програмі й формат вказувати треба.
Наприклад:
- при виведенні координат у шаблоні fr3 - встановленням властивостей текстових полів: memo.displayformat.formatstr:='%2.3f' (в темі про Fast Report);
- при виведенні координат в Excel - форматом комірок Excel.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 27 фев 2016 11:38 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
ця табличка виводиться прямо в Digitals, в шаблонах DMT. Але формується за допомогою списків @Text.
Методами Вставка/Таблиця не вийде, якщо щось, бо таблиця не типова для Digitals


Вложения:
2016-02-27_113749.png
2016-02-27_113749.png [ 17.19 Кб | Просмотров: 8717 ]

_________________
додатково про скрипти Digitals на www.digitals.at.ua
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 27 фев 2016 13:21 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
fendak писал(а):
ця табличка виводиться прямо в Digitals, в шаблонах DMT. Але формується за допомогою списків @Text.
Методами Вставка/Таблиця не вийде, якщо щось, бо таблиця не типова для Digitals
Виходить, раз скрипт Digitals заповнює поля таблиці, значить скрипт і має перебрати кожен знак в рядку, що являє собою число перетворене в рядок? Якщо після десяткового розділювача один знак - дописати два нулі, якщо два знаки - дописати один нуль, і тільки після цього закидати текст в таблицю? Мабуть треба писати скриптову функцію, на вході якої - число і кількість знаків після розділювача, на виході - текстовий рядок.


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

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
voha писал(а):
fendak писал(а):
ця табличка виводиться прямо в Digitals, в шаблонах DMT. Але формується за допомогою списків @Text.
Методами Вставка/Таблиця не вийде, якщо щось, бо таблиця не типова для Digitals
Виходить, раз скрипт Digitals заповнює поля таблиці, значить скрипт і має перебрати кожен знак в рядку, що являє собою число перетворене в рядок? Якщо після десяткового розділювача один знак - дописати два нулі, якщо два знаки - дописати один нуль, і тільки після цього закидати текст в таблицю? Мабуть треба писати скриптову функцію, на вході якої - число і кількість знаків після розділювача, на виході - текстовий рядок.

в принципі, можна й так, дякую.

Може комусь пригодиться:
$X=5.2
$X2d=@StringPart 2.$X
$Ld=@Calc Length("$X2d")
$Nol=0
@if $Ld=0 then $X=@Concat $X,.$Nol,$Nol,$Nol
@if $Ld=1 then $X=@Concat $X,$Nol,$Nol
@if $Ld=2 then $X=@Concat $X,$Nol
@Dialog.Message $X

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 01 мар 2016 08:31 
Эксперт
Эксперт

Зарегистрирован:
09 сен 2014 19:26
Сообщения: 97
Чи можливо функцією StringPart за раз відділити наприклад перші 5 частин якогось значення?


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

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
sergykydr писал(а):
Чи можливо функцією StringPart за раз відділити наприклад перші 5 частин якогось значення?


Так прямо функція не може витягнути відразу кілька частин. Але можна поступити двома варіантами:

;варіант 1
$Text=804,82457,Львівська,Дрогобицький,с.Добрівляни,вул.Шкільна,130,-,25
$P1=@StringPart 1,$Text
$P2=@StringPart 2,$Text
$P3=@StringPart 3,$Text
$P4=@StringPart 4,$Text
$P5=@StringPart 5,$Text
$Res1=$P1,$P2,$P3,$P4,$P5
;
;варіант 2 (за допомогою циклу)
$Res=
$N=0
$PartCount=@StringPartCount , $Text
%Start
$N=$N+1
@if $Res<> then $Res=$Res,
$Res2=@StringPart $N,$Text
$Res=$Res $Res2
@If $N>5 then @Goto %End
@If $N<$PartCount then @Goto %Start
%End
;
@Dialog.Message Варіант 1 - $Res1|Варіант 2 - $Res


В другому варіанті добавив пробіл між $Res $Res2 тому, що значеннями деяких з частин є цифри. І, якщо цього не зробити, то скрипт добавляє до попередньої перемінної ($Res) цифри, які у значенні наступної перемінної. На даному прикладі вийде замість перемінної $Res перемінна $Res804.

Для об'єднання в один рядок перемінних, значеннями яких є цифри слід використовувати функцію @Concat Str, розділяючи потрібні елементи комою
$Res=@Concat $Res,$Res2

або брати значення в лапки
$Res="$Res$Res2"
$Res=@DequoteText $Res

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 30 мар 2016 10:47 
Гуру
Гуру

Зарегистрирован:
06 дек 2011 13:07
Сообщения: 200
Откуда: Дубно
fendak писал(а):
sergykydr писал(а):
Нові можливості програми viewtopic.php?p=37353#37353

Мені здається за допомогою цієї функції (@Map.GetPublicMapParcelInfo) можливо автоматично підтягнути з ПКК кад. номери суміжних земельних ділянок та заносити їх до параметру відповідного суміжника. Якщо в когось є якісь міркування або ідеї щодо реалізації цього в одній кнопці, будь-ласка поділіться їми :D


Параметр "Додаткова інформація" кожного суміжника отримує такий вміст:

Від А до Б Іванов І.І.(кадастровий номер 4621283300:01:001:0001)

Якщо кадастровий номер відсутній, тоді просто - "Від А до Б Іванов І.І."

Увага! Тільки для української версії програми.

@MAp.DeselectAll
@Map.SelectLayer ID70005
$D=@Map.SelectedObject
$XD=@Map.Object[$D].Parameter[-4]
$YD=@Map.Object[$D].Parameter[-3].....

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


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 30 мар 2016 15:29 
Администратор
Администратор

Зарегистрирован:
28 авг 2004 17:19
Сообщения: 1009
mixey_dubno писал(а):
Можна більш детальніше розказати кди цей скрип вставити? Можливо є якесь відео?

http://geosystema.net/samples/How-To-Use-Script.exe

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 13 апр 2016 06:50 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Доброго дня.
Відгукніться, будь-ласка, хто користується "захистом текстів скриптів". Чи реально не дати користувачу можливості змінити і вичитати текст скрипта? Є якісь варіанти?


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 13 апр 2016 13:16 
Эксперт
Эксперт

Зарегистрирован:
21 мар 2013 14:12
Сообщения: 94
Доброго здоров'я всім!

Пане voha, теж зіткнувся із такою проблемою. Вирішив шляхом запису скриптів у бібліотеки (*.dsf). А на кнопку прикріпляється %Library.НАЗВА.dsf. Одним рядком. Сподіваюсь, допоможе.

Дякую.


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

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Пупкин писал(а):
...Вирішив шляхом запису скриптів у бібліотеки (*.dsf)...
Дякую. Це не забезпечує захист тексту скриптів від копіювання та зміни/заміни. Файл dsf легенько відкривається текстовим редактором. Треба ж щоб саме текст скрипта був не доступним користувачу, який знає де ховається текст скрипта. Якби так практичний приклад шифрування файла, та так щоб в жоден момент виконання скрипта не можна було його зупинити і відкрити записаний "на льоту" текстовий файл dsf. Так, щоб зрозумілим текстом з коду скрипта, для користувача який знає що таке мова скриптів Digitals, і не пахло.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 17 апр 2016 08:35 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Пупкин писал(а):
...Товариство, виникла наступна проблема (на рівному місці, як завжди). Допоможіть будь-ласка, коли хто знає.
У процесі виконання скриптом послідовної номерації наявна необхідність вибору (в ручному режимі) параметру, куди й будуть вноситись згенеровані послідовні номери. Яким чином вказати програмі, що необхідно у параметр,наприклад ID1001, записати ту злощасну номерацію.
Текст скрипта:
---------------------
@SendChars 1 <CR>
popCalculator | Последовательная нумерация...
--------------------
Дякую.
voha писал(а):
Kasman писал(а):
Может ли кто-то помочь возникла потребность в номерации участков карти по списку...
Довгенько мучився з нестабільною роботою . Дивно, чомусь прокол з функцією @Dialog.EditParameter ParamIndex, що у скрипті активувала параметр 1 для введення. Номерація ділянок вниз виконується в активному, на момент номерації, параметрі. Вихід один: активувати параметр 1 в ході очікування скрипта....
Пупкин писал(а):
...Вийшов з положення за допомогою функції @Map.Selected.ChangeParameter. Запрацювало, без вказування у ручному режимі.
Текст скрипта наступний:
-------------------------------------------
@Map.Selected.ChangeParameter ID50031 - потрібному параметру присвоюється порожнє значення (таким чином він активується)
@SendChars 5624680700000000001 <CR>
popCalculator | Последовательная нумерация...
---------------------------------------------
...
Тільки от, не допомагає @Map.Selected.ChangeParameter, оскільки скриптова функція працює напряму зі значенням параметра, а не з полем значення параметра на вкладці "Інфо".

Маю кілька сот полігональних об'єктів, на межі кожного з них вставлені вузли - точкові об'єкти, номери яких в параметрі треба визначити окремо по кожному полігону. В такому випадку, перед номерацією вздовж кожного контура викликати вікно редагування значення параметра 25:
Код:
@SendChars <CR>
@Dialog.EditParameter 25
Здавалося достатньо активувати параметр один раз, але ні! Перед кожною номерацією!

Очевидно таки треба мати окрему скриптову функцію @CalculatorValParam Mode Param [FirstValue], де Mode - спосіб номерації; Param - номер параметра, значення якого буде калькулюватись; [FirstValue] - необов'язковий параметр - початкове значення у разі послідовної номерації.


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

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
Кнопка
Код:
$S=%Library.NumberSelectedSequential ID4 100 2
@Dialog.Message Пронумеровано $S об'єкт(а/ів)

Вміст Digitals\Library\NumberSelectedSequential.dsf
Код:
$ParamIndex=@StringPart 1 $Parameters
$P=@Map.Parameters.Get $ParamIndex
@if $P= then @Break Не найден параметр $P
$Start=@StringPart 2 $Parameters
@if $Start= then $Start=1
$Step=@StringPart 3 $Parameters
@if $Step= then $Step=1
$C=@Map.Count
$I=0
$Result=0
%Loop
$I=$I+1
$Sel=@Map.Object[$I].Selected
@if $Sel=0 then @Goto %Continue
@Map.Object[$I].Parameter[$ParamIndex] $Start
$Start=$Start+$Step
$Result=$Result+1
%Continue
@if $I<$C then @Goto %Loop
@Map.Selected.Refresh

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


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1236 ]  На страницу Пред.  1 ... 44, 45, 46, 47, 48, 49, 50 ... 83  След.

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


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

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


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

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