Anweisungen

#include

Ein User-Language-Programm kann Code in anderen ULP-Dateien über die #include-Anweisung wiederverwenden. Die Syntax lautet

#include "filename"

Zuerst wird die Datei filename im selben Verzeichnis wie die aktuelle Quelldatei gesucht (d. h. die Datei, die die #include-Anweisung enthält). Wenn sie dort nicht gefunden wird, wird sie in den Verzeichnissen im ULP-Verzeichnispfad gesucht.

Die maximale Einschlusstiefe beträgt 10.

Jede #include-Anweisung wird nur einmal verarbeitet. Dadurch wird sichergestellt, dass nicht mehrere Definitionen derselben Variablen oder Funktion vorhanden sind, was zu Fehlern führen würde.

Portabilitätsanmerkung

Wenn filename einen Verzeichnispfad enthält, ist es am besten, immer den Schrägstrich als Trennzeichen für Verzeichnisse zu verwenden (auch unter Windows). Windows-Laufwerksbuchstaben sollten vermieden werden. Auf diese Weise kann ein User-Language-Programm auf allen Plattformen ausgeführt werden.

#require

Im Laufe der Zeit kann es vorkommen, dass in neueren Versionen von EAGLE neue oder geänderte User-Language-Funktionen implementiert werden, die Fehlermeldungen verursachen, wenn ein solches ULP aus einer älteren Version von EAGLE ausgeführt wird. Um dem Benutzer eine dedizierte Meldung bereitzustellen, die angibt, dass für dieses ULP mindestens eine bestimmte Version von EAGLE erforderlich ist, kann ein ULP die #require-Anweisung enthalten. Die Syntax lautet

#require version

Der Wert für version muss als reelle Konstante in folgender Form angegeben werden:

V.RRrr

Dabei ist V die Versionsnummer, RR die Release-Nummer und rr die (optionale) Revisionsnummer (beide mit führenden Nullen, wenn sie kleiner als 10 sind). Wenn beispielsweise für ein ULP mindestens EAGLE-Version 4.11r06 erforderlich ist (dies ist die Beta-Version, in der die #require-Anweisung erstmalig implementiert wurde), kann Folgendes verwendet werden:

#require 4.1106

Die richtige Anweisung für Version 5.1.2 lautet wie folgt:

#require 5.0102

#usage

Jedes User-Language-Programm sollte Informationen über seine Funktion, die Verwendung und eventuell auch über die Person, die es geschrieben hat, enthalten. Die Anweisung

#usage text [, text...]

implementiert eine standardmäßige Methode, um diese Informationen zur Verfügung zu stellen. Wenn die #usage-Anweisung vorhanden ist, wird der Text (der eine Zeichenfolgenkonstante sein muss) in der Systemsteuerung verwendet, um eine Beschreibung des Programms anzuzeigen.

Falls das ULP diese Informationen z. B. in dlgMessageBox() verwenden muss, steht der Text dem Programm über die Nutzung der Builtin-Konstante zur Verfügung.

Nur die #usage-Anweisung der Hauptprogrammdatei (d. h. die mit dem Befehl AUSFÜHREN gestartete Datei) wird wirksam. Aus diesem Grund können (und sollten!) reine Include-Dateien auch eigene #usage-Anweisungen besitzen.

Es empfiehlt sich, die #usage-Anweisung am Anfang der Datei zu platzieren, sodass die Systemsteuerung nicht den gesamten restlichen Text analysieren muss, wenn nach den anzuzeigenden Informationen gesucht wird.

Wenn die Nutzungsinformationen in mehreren Sprachen zur Verfügung stehen sollen, müssen die Texte der einzelnen Sprachen durch Kommas getrennt werden. Jeder dieser Texte muss mit dem aus zwei Buchstaben bestehenden Code der jeweiligen Sprache beginnen (wie von der language()-Funktion bereitgestellt), gefolgt von einem Doppelpunkt und einer beliebigen Anzahl von Leerzeichen. Wenn kein geeigneter Text für die Sprache des tatsächlichen Systems gefunden wird, wird der erste angegebene Text verwendet (dieser sollte in der Regel Englisch sein, damit das Programm für eine möglichst große Benutzergruppe zugänglich ist).

Beispiel:

#usage "en: A sample ULP\n"
           "Implements an example that shows how to use the EAGLE User Language\n"
           "Usage: RUN sample.ulp\n"
           "Author: john@home.org",
       "de: Beispiel eines ULPs\n"
           "Implementiert ein Beispiel das zeigt, wie man die EAGLE User Language benutzt\n"
           "Aufruf: RUN sample.ulp\n"
           "Author: john@home.org"