Аналитика http://www.geosystema.net/forum/ |
|
Все про скрипти http://www.geosystema.net/forum/viewtopic.php?f=1&t=2809 |
Страница 82 из 83 |
Автор: | fendak [ 24 апр 2022 15:18 ] |
Заголовок сообщения: | Re: Все про скрипти |
Добрий день! Роблю інвентаризацію нових скриптових функцій (з грудня 2020 року ви додали аж 110 штук). Серед них є дуже цікаві. Чи можна трохи роз'яснити по деяких з них? Бо не зрозуміло. 1. @Dialog.EditFields Var1=Value:Name,... - виводить діалогове вікно для заповнення/редагування іменованих значень Написав ось так - Dialog.EditFields Налаштування|Var1=Value1:Позиція 1|Var1=Value2:Позиція 2|Var1=Value3:Позиція 3 Але результатом функція завжди дає 1. Як отримувати введені дані? І чи можна там зробити можливість вибирати із файлу варіанти для введення так, як це реалізовано в масці параметрів? 2. @SingleClickDialogs [1/0] - без опису 3. @Dialog.Information Text - виводить повідомлення з інформацією Чим відрізняється від @Dialog.Message Text? 4. @DocumentFromTemplate TemplateName|DocName|Options|Key1=Value1|... - створює документ за шаблоном та замінює змінні в ньому на потрібні значення Що означають Options та Key1? 5. @Map.Object[N].AlignToLayer LayerIndex - без опису (в перекладі - "вирівнює по шару", але як і що вирівнює?) 6. @Map.ArrangeFixedValues - без опису (в перекладі - "упорядковує фіксовані значення", але про які фіксовані значення йде мова?) 7. @StringCalc Text function - виконує текстову функцію, наприклад, Copy Можна детальніше? Куди копіюється текст? І як його вказувати? 8. @Float Formula - повертає числовий результат виразу Чим відрізняється від @CalculateFormula Formula та @Calc? 9. @Map.StartRoute Name - без опису Виводить повідомлення: Не знайдено файл C:\Digital\Route\Name. Створюю файл txt - нічого не дає. Яке розширення файлу має бути і якщо можна - призначення функції? 10. @Map.ZB.UpdateParsels LayerIndex та @Map.ZB.UpdateServi LayerIndex - без опису і не зрозуміло взагалі, що це таке може бути 11. @NextPeriodicDate PrevDate NumberOfMonths - вираховує наступну дату періодичного платежу. Замість PrevDate вводжу дату у форматі 28.02.2022, замість NumberOfMonths - цифру (номер місяця?), а в результаті та сама дата. Дату якого платежу має рахувати функція? 12. @CropImageByPolygon ImageFileName - без опису Обрізає зображення по полігону? По якому? Вказую шлях до зоображення (як растр і як звичайне), виділяю полігон - ніякого результату. 13. @UkrCadServer - без опису 14. @Map.FromArchitectural 0/1 - без опису |
Автор: | Denys Sanitskyi [ 26 апр 2022 16:03 ] |
Заголовок сообщения: | Re: Все про скрипти |
Всім доброго дня! Підкажіть будь ласка, як за допомогою скрипту ефективно видаляти із отриманого текстового списку значення які дублюються, наприклад якщо в списку повторюється "1" то вона має зникнути із нього. |
Автор: | fendak [ 28 апр 2022 18:38 ] |
Заголовок сообщения: | Re: Все про скрипти |
Denys Sanitskyi писал(а): Всім доброго дня! Підкажіть будь ласка, як за допомогою скрипту ефективно видаляти із отриманого текстового списку значення які дублюються, наприклад якщо в списку повторюється "1" то вона має зникнути із нього. Доброго дня! Якщо питання ще актуальне, то уточніть - вам потрібно шукати рядки, які дублюються у списку, окремі символи, чи цілі слова? Якщо рядки - то треба написати скрипт, який перебирає кожний рядок і співставляє з кожним рядком того ж списку, шукаючи ідентичні. Такий скрипт можу написати. Готового не маю. Якщо вам тільки для одного разу і є ексель - то там є функція Видалення дублікатів. |
Автор: | Dmitry_Zolotar [ 29 апр 2022 09:30 ] |
Заголовок сообщения: | Re: Все про скрипти |
Denys Sanitskyi писал(а): Всім доброго дня! Підкажіть будь ласка, як за допомогою скрипту ефективно видаляти із отриманого текстового списку значення які дублюються, наприклад якщо в списку повторюється "1" то вона має зникнути із нього. Є відповідна функція @Text[].Unique, вона сортує!!! список та лишає у ньому тільки унікальні значення Приклад: Код: @Text[1].Add 1
@Text[1].Add 2 @Text[1].Add 1 @Text[1].Add 3 @Text[1].Add 1 @Text[1].Add 6 @Text[1].Add 1 @Text[1].Add 8 @Text[1].Add 12 @Text[1].Unique $S=@Text[1].Text @Dialog.Message $S |
Автор: | Denys Sanitskyi [ 29 апр 2022 14:58 ] |
Заголовок сообщения: | Re: Все про скрипти |
Dmitry_Zolotar писал(а): Є відповідна функція @Text[].Unique, вона сортує!!! список та лишає у ньому тільки унікальні значення Нажаль це не зовсім те що потрібно, ця "одиниця" має зникнути взагалі із списку. |
Автор: | fendak [ 29 апр 2022 15:20 ] |
Заголовок сообщения: | Re: Все про скрипти |
Denys Sanitskyi писал(а): Dmitry_Zolotar писал(а): Є відповідна функція @Text[].Unique, вона сортує!!! список та лишає у ньому тільки унікальні значення Нажаль це не зовсім те що потрібно, ця "одиниця" має зникнути взагалі із списку. Тоді можна якось так: ;скопіюйте в буфер текст, який потрібно обробити @Text.Paste $Text=@Text.Text @Text[2].Text $Text ; $FC=@Text.Count @Progress.Start $FC Опрацювання... $I=0 %Loop $I=$I+1 $LineT1=@Text.Line[$I] @Progress.StepBy $rogress=@Progress.Canceled @if $rogress=1 then @Goto %End ; $FC2=@Text[2].Count $O=$I $zzz=0 %Loop2 $O=$O+1 @if $O>$FC2 then @Goto %End2 $Line=@Text[2].Line[$O] @if $LineT1=$Line then $zzz=1 @if $LineT1=$Line then @Goto %End2 @Goto %Loop2 %End2 @if $zzz=0 then @Text[3].Add $LineT1 ; @if $I<$FC then @Goto %Loop %End @Progress.Stop @Text[3].Copy @Dialog.Message Виконано, текст скопійовано в буфер обміну |
Автор: | petrogeo [ 27 май 2022 16:15 ] |
Заголовок сообщения: | Re: Все про скрипти |
Доброго дня. При експорті карти функцією FileSaveAsJPEG (Експорт у | JPG) вона зберігається не в заданому dpi (наприклад 300), а завжди у 96 dpi. Якось можна виправити цей недолік? Як варіант можна зберігати у FileSaveAsBMP (Експорт у | BMP), але тоді приходиться пере зберігати зображення у JPG |
Автор: | Dmitry_Zolotar [ 29 май 2022 18:06 ] |
Заголовок сообщения: | Re: Все про скрипти |
petrogeo писал(а): Доброго дня. При експорті карти функцією FileSaveAsJPEG (Експорт у | JPG) вона зберігається не в заданому dpi (наприклад 300), а завжди у 96 dpi. Якось можна виправити цей недолік? Як варіант можна зберігати у FileSaveAsBMP (Експорт у | BMP), але тоді приходиться пере зберігати зображення у JPG Перевірив в себе - FileSaveAsJPEG зберігає саме з тим DPI, що вказано у діалозі. Алтернативою може бути @Map.SaveToTIF, потрібно лише задавати ім'я файлу з потрібним розширенням Код: $AM=@ActivateMap
@if $AM=0 then @Break $CFN=@Map.ClearFilename $Filename=@Dialog.SaveFile *.jpg $CFN.jpg @if "$Filename"="" then @Break @Map.SaveToTIF 300 24 $Filename @Run $Filename |
Автор: | Denidz [ 16 янв 2023 21:27 ] | ||
Заголовок сообщения: | Re: Все про скрипти | ||
Доброго часу. Який кут повертає скриптова функція @Map.SlopeDirection X Y? Наприклад який напрямок (кут) буде у точці на мапі (зелена відмітка)? Не можу зрозуміти який кут рахує функція.
|
Автор: | voha [ 16 янв 2023 23:18 ] |
Заголовок сообщения: | Re: Все про скрипти |
Denidz писал(а): Доброго часу. Який кут повертає скриптова функція @Map.SlopeDirection X Y? По ідеї - близько 270. Тобто схил - західний.
Наприклад який напрямок (кут) буде у точці на мапі (зелена відмітка)? Не можу зрозуміти який кут рахує функція. |
Автор: | fendak [ 16 май 2023 17:22 ] |
Заголовок сообщения: | Re: Все про скрипти |
70 нових скриптових функцій появилися в програмі Digitals за один рік від 26.04.2022 до 16.05.2023 року: Кермування скриптом @Map.Undo.SaveSelected - запам'ятовує поточну конфігурацію об'єктів, які виділені і повертає її після змін командою @Map.Undo @Return ResultValue - звершує роботу скрипту і виводить значення результату @SQL.Table.Delete Tablename Condition - видаляє таблицю через SQL @SQLTab Query - виконує запит по таблиці SQL Обробка подій @Map.ExecuteLayerEvent ObjIndex EventName - виконує скрипт обробки подій шару для конкретного об'єкта @Map.IsEventParameter ParamIndex - ? (без опису і не зрозуміле значення) Карта @Map.PasswordCount - повертає кількість паролів даної карти @CloneMap MapIndex - клонує карту @Map.CloseEmbedded - закриває всі вмонтовані карти Управл. об'єктами карти @Map.InvertSelection [LayerIndex] - інвертує виділені об'єкти (можна задати в якому шарі) @Map.CloneObject ObjIndex Layer [ID] - клонує об'єкт @Map.DrawObject Number - відображає об'єкт із заданим порядковим номером (не працює, або я не розумію, як вона має працювати) @Map.FilterLayerObjects [LayerIndex] [Filter] - приховує об'єкти карти, параметри яких не відповідають заданому критерію @Map.LayerCount LayerIndex - повертає кількість об'єктів, які у заданому шарі @PasteFromMap MapIndex - вставляє виділені об'єкти із вказаної карти в поточну @SplitMap Filename - ділить карту на 4 частини (для чого це?) Геометрія об'єктів @Map.ContourMap - створює полігон довкола всіх наявних об'єктів карти (за яким принципом створюється цей полігон?) @Map.TileObject ObjIndex SizeX SizeY - покриває об'єкт прямокутними рамками (?) @Map.DisableDuplicates 0/1 - включає заборону однакової геометрії об'єктів (з того, що я дослідив - це заборона вставляти в ту ж карту той самий об'єкт, це якась дивна функція, чи вона ще щось може?) @Map.Object[N].Radius - повертає радіус, СКО і центр дуги (не вдалося зрозуміти, як це працює) @Map.ImportGMProject Filename - імпортує точки із GM-проекту (що таке GM-проект?) Групування об'єктів @Map.DeselectGroup GroupName - знімає виділення з усіх об'єктів групи Шари @Map.Layers.CleanUp - видаляє шари карти, в яких нема жодного об'єкта @Map.Layers.IDFromNames - присвоює шарам унікальні id за їх назвами @Map.Layers.Truncate LastIndex - видаляє шари після LastIndex @Map.SheetLayer - повертає номер шару з розбивкою карти на листи (номер якого шару?) Параметри @Map.Parameters.IDFromNames - присвоює параметрам унікальні id за їх назвами @Map.Parameters.Truncate LastIndex - видаляє всі параметри після LastIndex @Map.ParametersFromPDF ParamIndex PDFPath - читає інформацію про ділянку (json) з пдф @MergeParametersFromMap MapIndex LayerIndex KeyParameter Mode(0/1) - заповнює параметри позначених об'єктів з карти MapIndex Умовні знаки @Map.ArrangeCalloutSymbols - впорядковує символи-виноски Растри @Map.OpenMultiOrthos - відкриває мультиорто (що це?) @Map.CloseMultiOrthos - закриває мультиорто @Map.GenerateRaster X Y Z GSD Mode Focus Width Height|Filename - генерує растр за вказаними параметрами (можна детальніше про цю функцію?) Горизонталі та 3d-графіка @CreateSideView ObjIndex - створює карту з виглядом збоку об'єктів, що всередині вказаного полігону (це в 3d?) Робота з текстом @AdjustCadastralNumber CadNum - додає двокрапки в кадастровий номер @FromXMLDate yyyy-mm-dd - конвертує дату формату yyyy-mm-dd у дату формату dd.mm.yyyy @ToXMLDate dd.mm.yyyy- конвертує дату формату dd.mm.yyyy у дату формату yyyy-mm-dd @MoneyInWriting MoneyValue - сума прописом @NGOIndex NGOYear [NowYear] - розраховує коефцієнт індексації нормативної грошової оцінки з року оцінки по поточний @ReplaceComma - замінює кому на крапку у вказаному тексті @ReplaceDot - заміню крапку на кому у вказаному тексті @RoundMoney Formula - вираховує вираз за формулою з округленням кожного значення до двох знаків після коми @StringCopy Index Count String - копіює Count символів тексту String, починаючи з символу Index @StringDelete Index Count String - видаля Count символів з тексту String, починаючи з символу Index @StringInsert SubStr|Index|String - вставляє текст SubStr в позицію Index тексту String @StringLength String - повертає число символів в тексті String @StringPos SubStr|String - повертає позицію частини тексту SubStr в тексті String @StringReplace Old|New|String - замінює частину тексту на новий в тексті String @Text[N].ExtractCadnumbers Text - знаходить в текстовому контейнері список кадастрових номерів вигляду XXXXXXXXXX:XX:XXX:XXXX @Text[N].LeaveUnusual - залишає незвичайний текст (?) @Text[N].RegExMatches Mask - повертає всі співпадіння тексту з маскою регулярного виразу @Text[N].RemoveEmptyValues - видаляє рядки з пустим значенням вигляду Key= @Text[N].RemoveOldFiles - видаляє із списку однакові старі файли з однаковою короткою назвою (що за старі файли?) @Transliterate - виконує транслітерацію кириличного тексту латиницею @UpcaseSurname Surname Name SecondName - переводить першу букву прізвища, імені та по-батькові у великий регістр @UTF8ToURL Text - конвертує текст utf8 у URL Encoding виду %20%D0%97 Управління програмою Digitals @MergeToolbars OutFile|InFile1|InFile2... - об'єднює декілька tlb-файлів в один @StartWaiting - змінює курсор в програмі на вигляд, що позначає очікування до виклику функції @StopWaiting @StopWaiting - змінює курсор в програмі на стандартний вигляд Інші не зрозумілі (без опису) функції: @IDFromName Mask Name - ? @Map.Clotoide ObjectIndex R L Step - ? @Map.CombineByParameters LayerIndex ParamIndex - ? @Map.SmoothSelected - ? @Map.ZB.ExtractFromPDF TextFileName - ? @Map.ZB.UpdateRent LayerIndex - ? @ZB.AddRegistry Filename - ? @ZB.AddRent MapIndex - ? @ZB.PDFToFiles KOATUU InputPath|OutputPath - ? @ZB.ToFiles InputPath|OutputPath - ? Що це за функції ZB? Як розшифровується ZB? Також, бачу, оновили функцію Dialog.EditFields Header|Var1=Value:Name,... Але все одно не розумію, як вона працює. Що ставити замість Var? Звичайні змінні? Добре було б, якби замість Var можна було ставити звичайні змінні, яким дане діалогове вікно присвоювало б відповідні значення. Така функція досить потрібна, бо у вікні редагування параметрів не можна вводити кому, бо кома є роздільником параметрів. Але воно так не працює. Змінні залишаються неактивними в результаті роботи цієї функції. А загальним результатом роботи функції є 1. Схожа ситуація із функцією @Text[N].ExplodeLine[N] var1,var2,... Як прописати зі змінні? Що в даних випадках потрібно вказувати взамін var? |
Автор: | petrogeo [ 02 ноя 2023 15:38 ] |
Заголовок сообщения: | Re: Все про скрипти |
Доброго дня. Чомусь перестала працювати функція @Map.Object[N].Layer починаючи з версії програми від 16.10.2023 при команді @Map.Object[$N].Layer=-2 (перенести об'єкт у приховані), видає помилку Invalid layer - -2 |
Автор: | voha [ 02 ноя 2023 22:42 ] |
Заголовок сообщения: | Re: Все про скрипти |
petrogeo писал(а): Доброго дня. Так. Дійсно - не працює @Map.Object[$N].Layer=-2 . Приходиться заміняти на @Map.Selected.ChangeLayer -2
Чомусь перестала працювати функція @Map.Object[N].Layer починаючи з версії програми від 16.10.2023 при команді @Map.Object[$N].Layer=-2 (перенести об'єкт у приховані), видає помилку Invalid layer - -2 |
Автор: | Dmitry_Zolotar [ 06 ноя 2023 17:08 ] |
Заголовок сообщения: | Re: Все про скрипти |
Дивно що воно так працювало. Не передбачено було окремі об'єкти приховувати лише весь шар. $LN=@Map.Selected.Layer @Map.Layers.SetState $LN 3 |
Автор: | petrogeo [ 06 ноя 2023 17:43 ] |
Заголовок сообщения: | Re: Все про скрипти |
Працювало, і було зручно перебирати об'єкти які мають перетин або попадають у контур (полігон). За допомогою цієї функції об'єкти (у різних шарах) по одному переводились у приховані, щоб повторно не опрацьовувались у скрипті. А взагальному функція працює, саме ця команда @Map.Object[$N].Layer=-2 перестала працювати. |
Страница 82 из 83 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |