Це заміна одного колодязя а в мене їх 20 000 є мжливість замінити одразу всі?? Дякую!
Перед заміною помітьте всі об’єкти.
Помічаю декілька для експеремента, нічого не виходить редактується лише один який діджитал сам визначає!!!
Все розібрався дякую!!!
Доброго дня всім.
Скажіть мені, будь-ласка, чи часто доводилось комусь в скрипті визначати режим роботи Digitals: демо, чи не демо? Іноді приходиться це робити в іншій програмі, через пошук вікна Digitals з фразою “(Demo)” в заголовку.
Чи є час у розробників додати скриптову функцію, яка повертала-би ознаку: демо, чи не демо?
Доброго дня допоможіть розібратись:
після створення ін4 і закриття а потім відкриття файлу в параметрі “Квартал” зявляється новий параметр у вигляді “84 ## - ## ТОВ "Земельно-кадастровий центр"# 11.03.2014 # Н” як можна і де його змінити на назву своєї організації раз і на завжди???
Відкрийте блокнотом файл Digitals\in4.hdr.
Залиште в цьому файлі єдину строку на кшталт: ##ТОВ “Землевпорядник”
Збережіть файл
Перезапустіть Digitals
СПАСИБО БОЛЬШОЕ!!!
Доброго дня.
Вимушений поцікавитись ще раз, що-до прохання розробити функції:
@Map.GetParameterList Number - повертала б список всіх значень в карті параметра Number;
@Map.Selected.GetParameterList Number - повертала б список значень параметра Number у всіх позначених об’єктів.
Страх як треба такі функції, дуже прошу.
В принципі, такі функції напишу як скрипти, тоді дайте, будь-ласка, @Text[N].Find FindText, що повертатиме порядковий номер рядка списку, в якому знайдено фрагмент тексту FindText, або повертатиме 0, якщо фрагмента тексту FindText в списку не знайдено.
Ну хоч щось з вказаного дайте, бо не один десяток раз ще прийдеться перебирати текстові блоки ![]()
Спробуйте ці скрипти
UnpackToDigitalsFloder.zip (908 Bytes)
Приклад використання:
; 1 - номер параметра
$S=%Library.GetSelectedParameterList 1
@Dialog.Message $S
$S=%Library.GetParameterList 1
@Dialog.Message $S
Дуже дякую, я вже почав-був писати подібне. Тобто, варто ще писати й пошук рядка в текстовому блоці? Чи не було-б скоріше мати скриптову функцію? Чи скриптова функція працювала-би за тим самим принципом перебору рядків текстового блоку?
Принцип той самий, тільки скрипт дещо повільніший.
В нову версію 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
В нову версію додано скриптову функції @Text[N].IndexOf Value яка повертає номер рядка в текстовому списку, якій містить строку Value
Оце діло
, Дуже дякую за підримку,
Шановні форумчани, як можна реалізувати за допомогою скриптових функцій ось таку річ:
@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, але це не зовсім те, що потрібно. Краще було б, якби можна за домомогою якоїсь функції задати текстовий файл зі списком параметрів. Чи є така функція?
Дякую.
Шановні форумчани, як можна реалізувати …
Чи є функція, яка б переглядала усі перераховані варіанти і, якщо в них значення не знайдено, то запускала б певну дію?
Також щодо відкритття діалового вікна з вибором параметру. Це можна зробити за допомогою функції @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 Bytes)
Чи можливо замінити у функції @Dialog.ListSelect список, який перерахувається через розділювач “|” текстовим файлом? Чи може є інша функція, яка це робить? А то виходить дуже громіздкий код, якщо в ньому починати перераховувати усі пункти списків.
Наочний приклад:
$Text=D:\Digitals\Spysok.txt
@Dialog.ListSelect Виберіть параметр |$Text
ОТ щось таке. І щоб показало весь список, що у текстовому файлі, а не тільки певний рядок. А потім з того списку я б міг вибрати вже потрібну строку.
Чи можливо замінити у функції @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.
…І щоб показало весь список, що у текстовому файлі, а не тільки певний рядок. А потім з того списку я б міг вибрати вже потрібну строку.
Дик, хіба не виводиться повний список в діалозі @Dialog.ListSelect список, якщо значення параметра список - вміст текстового блоку, в якому розділювач рядків “|”?
Значення слів у цьому пості - буквальне.
Voha, от якраз функції @Text.Text мені і не вистачало. Тепер все ясно.
До речі, якщо код писати не через @Dialog.ListSelect, а через @Dialog.Select, то добавляє якісь пусті строки у списку.
В текстовому файлі ось такий зміст:
ДД
ДЯ
ДО
РА
РБ
РС
СЛ
СН
Якщо даю через “|” - ДД|ДЯ|ДО|РА|РБ|РС|СЛ|СН, то у списку видає просто одним пунктом вибору

…До речі, якщо код писати не через @Dialog.ListSelect, а через @Dialog.Select, то добавляє якісь пусті строки у списку…
Я стикався з порожніми пунктами списку @Dialog.Select. Проблема була в тому, що вікно діалога не міняло свою ширину динамічно від довжини назви пункта. Тобто: якщо в одному з пунктів текст по-довжині довший ніж ширина діалога - наступний пункт був “порожній”. На тепер вікно діалогу @Dialog.ListSelect є динамічним по ширині, але якщо кількість пунктів не поміщається на екран хоч і в декілька стовпчиків - немає полоси прокрутки і пункти обрізаються по висоті. Тому користуюсь @Dialog.ListSelect.
То як, получилось?