Після внесених вами змін тепер користуватися функцією @SendChars для внесення відомостей у різні модальні вікна програми Digitals стало взагалі проблематично. Ви зробили, щоб у вікні активною була та позиція, яка останній раз була активною при ручному введенні даних. Але коли користувач останнього разу натиснув у вікні на Cansel, то команда @SendChars просто не працює, бо вона так само виконує команду Cansel.
І плюс постійно звуки, які повідомляють про помилку. Мусиш відключати на ПК звук, коли користуєшся програмою Digitals, бо при використанні скриптів, де використана функція @SendChars вони весь чась “бренькають”.
Краще поверніть назад як було, а натомість додайте функцію, яка б виконувала команду, як клавіша Tab або прямо до функції @SendChars додайте параметр @SendChars4, де 4 - це кількість знаків табуляції у вікні перед командою Enter
Ми нічого не змінювали у поведінці вікон Digitals, крім одного - Допомога|Про програму, де додали реакцю на Esc. Скиньте нам будь-ласка простий тестовий скрипт, який нормально працює не старій версії, та погано на новій. Спробуємо розібратись.
Щодо табуляції та інших спецсимволів, задавайте їх на ваш розсуд у цифровому вигляді, наприклад, чотири табуляції та Ентер це <9><9><9><9><13> або
за підказку про знаки табуляції дякую, але при поточній ситуації це не вирішує проблему.
Спробуйте цей простий скрипт: @SendChars 10
[ Операції з об’єктами.Розширити/стиснути ] @SendChars 2000
Карта | Властивості…
споачатку на версії Digitals за 26.12.2018, потім на версії за 25.01.2019.
Перед тим намалюйте на карті замкнутий об’єкт.
У старій версії все працює нормально - об’єкт розширився, масштаб змінився і ніяких зайвих звуків.
В новій версії об’єкт розширюєтся, але при цьому неприємний звук програми (як коли мишкою клацаєш за межею модального вікна), а масштаб карти взагалі не міняється.
І коли в старій версії відкрити Карта - Властивості, то там активною (обведена синьою рамкою) є ячейка з масштабом і одночасно кнопка ОК. А в новій версії програми ячейка з масштабом уже не активна, а активна тільки кнопка ОК чи Відмінити, залежно, що було вибрано останнього разу при ручному введенні значень. На старій версії завжди була активна кнопка ОК не залежно, яка кнопка була натиснути попереднього разу при закритті даного вікна.
будь ласка, виправте дану проблему, бо в скриптах не працює автомасштаб!
я вже навіть записав ВІДЕО з поясненням, в чому проблема, бо надоїло усім пояснювати це знову і знову
Підкажіть хто знає. Є така команда “сервіс.знайти однакові”. Коли цю команду прописую в скрипті, то при її виконанні з’являється повідомлення: позначено N однакових об’єктів. Проте командою @sendChar мені не вдається автоматично закрити це вікно з повідомленням. Що в такому випадку робити?
Є складніший варіант:$ProgramPath=@ProgramPath
@Run $ProgramPath\Favorites\SendCommandAfterWindow1InWindow2.exe "TFormProgress" "TMessageForm" "" "{ENTER}"
@ExecuteMenu MapCheckDuplicates де:
TFormProgress - клас форми вікна прогресу виконання операції (перший параметр скрипта AutoIt);
TMessageForm - клас форми вікна з результатом виконання операції (другий параметр скрипта AutoIt);
“” - заголовок вікна з результатом виконання операції (третій параметр скрипта AutoIt, якщо невідомий - то порожній рядок);
{ENTER} - перелік команд, які посилаються вікну з результатом виконання операції.[attachment=0]SendCommandAfterWindow1InWindow2.exe[/attachment]Файл скрипта - в папку Digitals\Favorites.
Смисл скрипта такий:
скрипт стартує і чекає на протязі 5с поки не стане активним вікно з прогресом (наприклад - класу TFormProgress) в треї;
якщо вікно TFormProgress стало активним скоріше ніж 5с - скрипт чекає поки вікно TFormProgress перестане бути активним, якщо ні - скрипт припиняє роботу;
якщо на протязі 2с після деактивації вікна TFormProgress з’явилось вікно TMessageForm останнє активується скриптом і посилається набір команд, якщо ні - скрипт припиняє роботу.
Так вирішене вирішене питання: треба посилати @sendChar якщо однакові знайдені, чи не треба. Для повної, так-скать, автоматизації
Скриптова функція @SendChars, як на мене - проста посилка натискання клавіш першому ж вікну, що буде активним після її застосування. А якщо такого (з результатом пошуку однакових) вікна не буде - то будь-якому наступному вікну.
Автоматизація роботи з вікнами Digitals мабуть мало ймовірна, із застосуванням самої @SendChars, тому виходів два:
розробити іншу скриптову функцію таку, щоб в ній можна було вказати:
значення будь-якого, доступного для вибору в ручному режимі, елемента управління вікна (визначеного при написанні скрипта Digitals як ClassnameNN програмою Au3Info.exe), що може бути активним після виклику операції (наприклад Карта > Властивості);
назву кнопки, яку треба натиснути для застосування операції (наприклад ОК, Cancel…);
виводити, чи не виводити на екран повідомлення з результатом виконання операції;
додавати окремі скриптові функції для встановлення опцій виконання операцій та виконання самих операцій.
Підкажіть, будь-ласка, чому скриптова функція @Map.CreateSharedBorder не створює лінійний об’єкт по спільній межі лінійного і внутрішнього контуру складного полігонального об’єкта (див. фрагмент 3 малюнку)?[attachment=0]CreateSharedBorder.bmp[/attachment]
Команда @Run ExeFilename повинна застосовуватись у скрипті, де ExeFilename - повна назва файла, включаючи шлях до файла і розширення. Наприклад:[attachment=1]Run.JPG[/attachment]
@Run C:\Program Files\AutoCAD 2009\acad.exe
Мабуть не зайвим буде, перед тим як “вставити Run і файл програми”, ознайомитись із Работа со скриптами в Digitals. Користуйтесь на форумі посиланням “Активні теми”[attachment=0]ActiveTems.JPG[/attachment]щоб продивитись різні теми, а не лише “Бібліотека корисних скриптів”