Макрос, як і будь-яка програма, опрацьовуючи інформацію повинен отримувати для своєї роботи вхідні дані, та виводити результати їх обробки. В ідеалі макрос для обробки повинен отримувати дані з деякого документа OpenOffice та виводити результат їх роботи також в документ (той самий, чи інший буде залежати від завданння макроса). Проте часто доводиться отримувати дані для роботи макроса від користувача, а також повідомляти йому проміжні результати роботи макроса в режимі діалогу. Для цього можна використовувати вікна повідомлень, які закладені в графічному інтерфейсі усіх сучаних операційних систем.
Read MoreФункції для роботи з текстовими рядками
Макросам часто доводиться опрацьовувати різноманітні текстові дані (тип String). Наприклад, при формуванні словесних повідомлень для діалогу програми і користувача, для обробки вмісту текстових документів і т.п. Крім операції конкатенації (знак “&” або “+”) для з’єднання частин тексту, OOo Basic має стандартний набір функцій для роботи з текстовими рядками.
Read MoreПеретворення типів даних
При обробці даних різного типу макроси часто перетвоюють їх, наприклад, оперують числами як фрагментами тексту, або навпаки, введений текст (послідовність цифр) перетворюють у число заданого типу. OOo Basic має механізм для автоматичного перетворення даних до потрібного типу, так зване неявне перетворення типів, хоча надає можливіть програмісту самому контролювати типи даних, що опрацьовує макрос, за допомогою спеціальних функцій перетворення типів даних.
Read MoreОбробка даних типу дата/час
Обробка даних, що використовуються для позначення часових значень та інтервалів у програмуванні, завжди вимагає особливої уваги, оскільки ці величини мають бути представлені так, щоб з ними можна було виконувати обчислення, з одного боку, а з іншого — подавати результати цих обчислень у вигляді днів, місяців, годин, хвилин, тощо. Тому кожна мова програмування має свій набір інструментів та правил перетворення значень дати та часу з вигляду зрозумілого користувачеві до вигляду придатного для зберігання та обчислень на ПК і навпаки. Read More
Організація розгалужень, умовний оператор If
Використання розгалуженнь у кодах макросів дозволяє здійснювати вибір і виконання потрібної послідовності інструкцій, залежно від ситуації у якій виконується макрос. Це дає можливість охопити широке коло альтернативних можливостей для використання одного і того ж макроса замість створення окремого макроса для кожної конкретної ситуації.
Read MoreОператор вибору Select Case.
Для програмування розгалужень з великою кількістю гілок часто використовують інструкцію вибору Select Case замість вкладених умовних операторів If. Оператор Select зручно використовувати, коли всі умови розгалуження полягають у порівнянні результату обчислення деякого виразу із різними наборами значень, Read More
Використання MsgBox для забезпечення діалогу з можливістю вибору
Вікно виводу повідомлень MsgBox можна використовувати не лише з метою відображення повідомлень для користувача. Необов’язковий аргумент Type, дозволяє керувати кількістю і виглядом кнопок вікна з повідомленням. Неважко здогадатися, що для вікна MsgBox передбачена можливість відслідковувати якою з кнопок користувач скористається для його закриття. Результат вибору користувача можна отримати якшо для виводу повідомлення використовувати функцію MsgBox, замість розглянутої раніше процедури MsgBox. Read More
Оператори циклу Do.
Алгоритмічна конструкція “цикл” полягає у повторенні певної послідовності дій (інструкцій). Очевидно, що для практики цінними є лише скінченні цикли, які, відповідно, повинні мати деяку умову для визначення того, чи повторювати послідовність дій черговий раз, чи завершити таке повторення. Послідовність інструкцій, що повторюється в циклі прийнято називати тілом циклу, а самі цикли ділити на цикли з перед- та післяумовою, залежно від того коли виконується перевірка умови завершення циклу — до, чи після чергового виконання його тіла.
Read MoreОператор циклу з параметром For.
Read More
Інструкції виклику підпрограм.
При розгляді структури макрорсів було зазначено, що існують два види макросів: макроси-процедури (Sub) і макроси-функції (Function). З точки зору класичного структурного програмування, і функції, і процедури є підпрограмами і мали б виконуватися лише після виклику із головної програми. Проте, і макроси Sub, і макроси Function в OOo Basic доступні для запуску на виконання, наприклад, командою . Це можна пояснити тим, що для макросів головною програмою є сам OpenOffice, в рамках якого підпограми можна викликати різними способами: виконанням команд меню, натисканням комбінацій “гарячих” клавіш на клавіатурі, тощо. Проте “класичний” механізм виклику одного макроса із коду іншого макроса у OOo Basic також передбачений та часто використовується.
Read More