Аналитика

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

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




Начать новую тему Ответить на тему  [ Сообщений: 1369 ]  На страницу Пред.  1 ... 56, 57, 58, 59, 60, 61, 62 ... 92  След.
Автор Сообщение
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 12 мар 2014 14:19 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
voha писал(а):
Доброго дня.
Вимушений поцікавитись ще раз, що-до прохання розробити функції:
@Map.GetParameterList Number - повертала б список всіх значень в карті параметра Number;
@Map.Selected.GetParameterList Number - повертала б список значень параметра Number у всіх позначених об'єктів.

Страх як треба такі функції, дуже прошу.

Спробуйте ці скрипти
Вложение:
UnpackToDigitalsFloder.zip [908 байт]
Скачиваний: 256

Приклад використання:
; 1 - номер параметра
$S=%Library.GetSelectedParameterList 1
@Dialog.Message $S
$S=%Library.GetParameterList 1
@Dialog.Message $S

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


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

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Dmitry_Zolotar писал(а):
Спробуйте ці скрипти...
Дуже дякую, я вже почав-був писати подібне. Тобто, варто ще писати й пошук рядка в текстовому блоці? Чи не було-б скоріше мати скриптову функцію? Чи скриптова функція працювала-би за тим самим принципом перебору рядків текстового блоку?


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 12 мар 2014 15:13 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
voha писал(а):
Dmitry_Zolotar писал(а):
Спробуйте ці скрипти...
Чи скриптова функція працювала-би за тим самим принципом перебору рядків текстового блоку?

Принцип той самий, тільки скрипт дещо повільніший.

В нову версію Ged.exe додано скриптову функції
@Text[N].IndexOf Value
яка повертає номер рядка в текстовому списку, якій містить строку Value

Приклад:
@Text[1].Add asd
@Text[1].Add was
@Text[1].Add qwa
@Text[1].Add qwe
$S=@Text[1].IndexOf was
@Dialog.Message $S

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


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 12 мар 2014 15:18 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Dmitry_Zolotar писал(а):
В нову версію додано скриптову функції @Text[N].IndexOf Value яка повертає номер рядка в текстовому списку, якій містить строку Value
Оце діло :D , Дуже дякую за підримку,


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 25 мар 2014 21:19 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
Шановні форумчани, як можна реалізувати за допомогою скриптових функцій ось таку річ:

@if "$pidstava"="ДД" then $kod=003
@if "$pidstava"="ДЯ" then $kod=003
@if "$pidstava"="ДО" then $kod=003
@if "$pidstava"="РА" then $kod=002
@if "$pidstava"="РБ" then $kod=005
@if "$pidstava"="РС" then $kod=001
@if "$pidstava"="СЛ" then $kod=004
@if "$pidstava"="СН" then $kod=004
@if "$pidstava"="
щось інше" then відкриваємо діалогове вікно з вибором параметру

Чи є функція, яка б переглядала усі перераховані варіанти і, якщо в них значення не знайдено, то запускала б певну дію?

Також щодо відкритття діалового вікна з вибором параметру. Це можна зробити за допомогою функції @Dialog.EditParameter, але це не зовсім те, що потрібно. Краще було б, якби можна за домомогою якоїсь функції задати текстовий файл зі списком параметрів. Чи є така функція?

Дякую.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 26 мар 2014 19:04 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
fendak писал(а):
Шановні форумчани, як можна реалізувати ...

Чи є функція, яка б переглядала усі перераховані варіанти і, якщо в них значення не знайдено, то запускала б певну дію?

Також щодо відкритття діалового вікна з вибором параметру. Це можна зробити за допомогою функції @Dialog.EditParameter, але це не зовсім те, що потрібно. Краще було б, якби можна за домомогою якоїсь функції задати текстовий файл зі списком параметрів. Чи є така функція?
Файл Dovidnyk.txt закинути в теку Digitals.
Код:
$Kod=0
$ProgPach=@ProgramFolder
;Читаєм довідник кодів
@Text.Load $ProgPach\Dovidnyk.txt
;Припустим, підстава РС
$pidstava=РС
;Шукаєм підставу в довіднику
$IndexText=@Text.IndexOf $pidstava
$Index=$IndexText+1
;Якщо підставу знайдено - читаєм код з наступного рядка довідника
@If $IndexText<>0 then $kod=@Text.Line[$Index]
@If $IndexText<>0 then @Goto %End
%SelectParam
;Отримуєм список параметрів карти
$TextBlok=@Map.Parameters.List
;Викликаєм вікно списку з переліком параметрів карти для вибору параметра
$SelParam=@Dialog.ListSelect Виберіть параметр з кодом|$TextBlok
%End
;Якщо в довіднику не визначено код для підстави - тоді вибрано параметр зі списку
@If $Kod=0 then @Dialog.Message Вибрано параметр $SelParam else @Dialog.Message Вибрано код з довідника $Kod


Вложения:
Dovidnyk.txt [70 байт]
Скачиваний: 611
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 27 мар 2014 21:13 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
Чи можливо замінити у функції @Dialog.ListSelect список, який перерахувається через розділювач "|" текстовим файлом? Чи може є інша функція, яка це робить? А то виходить дуже громіздкий код, якщо в ньому починати перераховувати усі пункти списків.
Наочний приклад:
$Text=D:\Digitals\Spysok.txt
@Dialog.ListSelect Виберіть параметр |$Text


ОТ щось таке. І щоб показало весь список, що у текстовому файлі, а не тільки певний рядок. А потім з того списку я б міг вибрати вже потрібну строку.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 30 мар 2014 06:52 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
fendak писал(а):
Чи можливо замінити у функції @Dialog.ListSelect список, який перерахувається через розділювач "|" текстовим файлом?...
Щось, трохи, непонятка :? . Вам треба в списку відобразити вміст текстового файла? Причому - кожен рядок вмісту текстового файла - окремий пункт списку для вибору? А ми - що робимо?
Код:
;Читаєм вміст текстового файла Spysok.txt в текстовий блок, в якому розділювач рядків - знак переноса рядка "|" (цей
;розділювач рядків у списку само-собою розуміється в будь-якій зі скриптових функцій групи @Text...)
@Text.Load D:\Digitals\Spysok.txt
;Присвоюєм змінній значення - вміст текстового блоку Text. Текстовий блок містить розділювачі рядків "|", адже ніде-ж вони
;(розділювачі) не ділись
$Text=@Text.Text
;Викликаєм для вибору пункта списку діалогове вікно списку з параметром [i]список[/i], рівним значенню змінної $Text, вміст
;якої - це вміст текстового блоку Text, який містить розділювачі рядків "|"
@Dialog.ListSelect Виберіть параметр |$Text
Тут, в коментах, треба розуміти так, як написано - дослівно. Три рядки коду замість двох. Чому "виходить дуже громіздкий код"? Крім того, раджу добавити рядок визначення відносного шляху до текстового файла (функція @ProgramFolder). Бо на одному компі D:\Digitals, на іншому компі може бути С:\Digitals.
fendak писал(а):
...І щоб показало весь список, що у текстовому файлі, а не тільки певний рядок. А потім з того списку я б міг вибрати вже потрібну строку.
Дик, хіба не виводиться повний список в діалозі @Dialog.ListSelect список, якщо значення параметра список - вміст текстового блоку, в якому розділювач рядків "|"?

Значення слів у цьому пості - буквальне.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 02 апр 2014 15:00 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
Voha, от якраз функції @Text.Text мені і не вистачало. Тепер все ясно.
До речі, якщо код писати не через @Dialog.ListSelect, а через @Dialog.Select, то добавляє якісь пусті строки у списку.

В текстовому файлі ось такий зміст:
ДД
ДЯ
ДО
РА
РБ
РС
СЛ
СН


Якщо даю через "|" - ДД|ДЯ|ДО|РА|РБ|РС|СЛ|СН, то у списку видає просто одним пунктом вибору


Вложения:
.PNG
.PNG [ 8.22 Кб | Просмотров: 11885 ]

_________________
додатково про скрипти Digitals на www.digitals.at.ua
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 02 апр 2014 16:03 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
fendak писал(а):
...До речі, якщо код писати не через @Dialog.ListSelect, а через @Dialog.Select, то добавляє якісь пусті строки у списку...
Я стикався з порожніми пунктами списку @Dialog.Select. Проблема була в тому, що вікно діалога не міняло свою ширину динамічно від довжини назви пункта. Тобто: якщо в одному з пунктів текст по-довжині довший ніж ширина діалога - наступний пункт був "порожній". На тепер вікно діалогу @Dialog.ListSelect є динамічним по ширині, але якщо кількість пунктів не поміщається на екран хоч і в декілька стовпчиків - немає полоси прокрутки і пункти обрізаються по висоті. Тому користуюсь @Dialog.ListSelect.
То як, получилось?


Последний раз редактировалось voha 02 апр 2014 16:16, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 02 апр 2014 16:14 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
voha писал(а):
То як, получилось?


Получилось, дякую

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 08 апр 2014 20:22 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
Прохання до розробників програми

Чи можливо збільшити граничну кількість рядків у скрипті понад 289 рядків?

А то навіть з використанням кількох функцій @ExecuteScript і з видаленням усіх коментарів вже не влазиться весь скрипт

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 09 апр 2014 09:34 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
fendak писал(а):
Прохання до розробників програми

Чи можливо збільшити граничну кількість рядків у скрипті понад 289 рядків?

А то навіть з використанням кількох функцій @ExecuteScript і з видаленням усіх коментарів вже не влазиться весь скрипт

Обмеження кількості строк скрипта збільшено з 256 до 2048. Завантажуйте нову версію.

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


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 11 апр 2014 09:51 
Специалист
Специалист

Зарегистрирован:
20 июн 2012 10:49
Сообщения: 22
Хотелось бы иметь возможность сохранять настройки для печати под разные форматы листов.
или функцию для изменения значений параметров в Ged.ini


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 12 апр 2014 08:33 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
BAM писал(а):
Хотелось бы иметь возможность сохранять настройки для печати под разные форматы листов.
или функцию для изменения значений параметров в Ged.ini
Стосовно функції для зміни значень параметрів в файлі Ged.ini.
Підтримую запит на функцію. Такий-собі аналог функції API для роботи з файлами ініціалізації :wink:. Значення параметрів будуть вступати в силу при наступному запуску Digitals :?:


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1369 ]  На страницу Пред.  1 ... 56, 57, 58, 59, 60, 61, 62 ... 92  След.

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


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

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


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

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