Директиви
#включати
Програма мови користувача може повторно використовувати код в інших файлах ULP за допомогою директиви #include. Синтаксис є
#include "filename"
Ім'я файлу спочатку шукається в тому ж каталозі, що й поточний вихідний файл (тобто файл, який містить директиву #include). Якщо його там не знайдено, його шукають у каталогах, які містяться в шляху до каталогу ULP.
Максимальна глибина включення становить 10.
Кожна директива #include
обробляється лише один раз. Це гарантує відсутність кількох визначень одних і тих самих змінних або функцій, які можуть викликати помилки.
Примітка щодо портативності
Якщо назва файлу містить шлях до каталогу, найкраще завжди використовувати скісну риску як роздільник каталогу (навіть у Windows!). Слід уникати літер дисків Windows. Таким чином програма мови користувача працюватиме на всіх платформах.
#вимагати
З часом може статися так, що новіші версії EAGLE реалізують нові або модифіковані функції мови користувача, що може викликати повідомлення про помилки, коли така ULP запускається зі старішої версії EAGLE. Щоб надати користувачеві спеціальне повідомлення про те, що для цього ULP потрібна принаймні певна версія EAGLE, ULP може містити директиву #require
. Синтаксис є
#require version
Версія повинна бути задана як дійсна константа форми
V.RRrr
де V — номер версії, RR — номер випуску, а rr — (необов’язковий) номер версії (обидва доповнюються нулями на початку, якщо вони менші за 10). Наприклад, якщо ULP вимагає принаймні версії EAGLE 4.11r06 (це бета-версія, у якій вперше реалізовано директиву #require), він може використовувати
#require 4.1106
Правильною директивою для версії 5.1.2 буде
#require 5.0102
#використання
Кожна програма на мові користувача повинна містити інформацію про її функції, як нею користуватися та, можливо, хто її написав. Директива
#usage text [, text...]
реалізує стандартний спосіб зробити цю інформацію доступною. Якщо присутня директива #usage
, її текст (який має бути рядковою константою) використовуватиметься на панелі керування для відображення опису програми.
У випадку, якщо ULP потрібно використовувати цю інформацію, наприклад, у dlgMessageBox()
, текст доступний програмі через вбудоване постійне використання.
Лише директива #usage
основного програмного файлу (тобто файлу, який запускається командою RUN) матиме чинність. Тому чисті файли включення можуть (і повинні!) також мати власні директиви #usage.
Найкраще мати директиву #usage
на початку файлу, щоб панелі керування не доводилося аналізувати весь інший текст під час пошуку інформації для відображення.
Якщо інформація про використання має бути доступна кількома мовами, тексти окремих мов повинні бути розділені комами. Кожен із цих текстів має починатися з дволітерного коду відповідної мови (як надається функцією language()
, після чого йде двокрапка та будь-яка кількість пробілів). Якщо не знайдено відповідного тексту для мови, яка використовується у фактичній системі, буде використано перший поданий текст (цей, як правило, має бути англійська, щоб зробити програму доступною для найбільшої кількості користувачів).
приклад
#usage "en: A sample ULP
"
"Implements an example that shows how to use the EAGLE User Language
"
"Usage: RUN sample.ulp
"
"Author: john@home.org" ,
"de: Beispiel eines ULPs
"
"Implementiert ein Beispiel das zeigt, wie man die EAGLE User Language benutzt
"
"Aufruf: RUN sample.ulp
"
"Author: john@home.org"
Орігінал сторінки: Directives