ディレクティブ

#include

ユーザ言語プログラムでは、#include ディレクティブを使用して、他の ULP ファイルのコードを再利用できます。構文は、次のとおりです。

#include "filename"

最初に、現在のソース ファイル(#include ディレクティブが含まれているファイル)と同じフォルダで filename が検索されます。そのフォルダで見つからない場合は、ULP フォルダ パスに含まれているフォルダで検索されます。

最大インクルード深さは 10 です。

#include ディレクティブは 1 回だけ処理されます。これにより、エラーの発生原因となる、同じ変数または関数が複数回定義されることがなくなります。

移植可能性に関する注意事項

filename にフォルダ パスが含まれている場合、フォルダ区切り文字として常にスラッシュを使用するのが最適です(Windows でも同様)。Windows のドライブ文字は使用しないでください。このようにすると、ユーザ言語プログラムはすべてのプラットフォームで実行されます。

#require

新しいバージョンの EAGLE で新しいまたは修正されたユーザ言語機能が実装された場合に、旧バージョンの EAGLE から ULP を実行するとエラー メッセージが表示される可能性があります。この ULP には特定のバージョン以降の EAGLE が必要であるという専用メッセージをユーザに表示するために、ULP に #require ディレクティブを含めることができます。構文は、次のとおりです。

#require version

version は、次の形式の実数定数として指定する必要があります。

V.RRrr

ここで、V はバージョン番号、RR はリリース番号、rr は(省略可能な)リビジョン番号です(いずれも 10 より小さい場合は先頭がゼロで埋められます)。たとえば、ULP で EAGLE バージョン 4.11r06 (#require ディレクティブを最初に実装したベータ版)以降が必要な場合、次のように指定します。

#require 4.1106

バージョン 5.1.2 に対する適切なディレクティブは次のとおりです。

#require 5.0102

#usage

すべてのユーザ言語プログラムには、機能、使用方法、および必要に応じて作成者に関する情報が含まれている必要があります。ディレクティブ

#usage text [, text...]

は、この情報を利用できるようにする標準的な方法を実装します。#usage ディレクティブが存在する場合、プログラムの説明を表示するために、コントロール パネルでそのテキスト(文字列定数であることが必要)が使用されます。

ULP でこの情報を使用する必要がある場合(たとえば dlgMessageBox() で)、このテキストは組み込み定数の使用によってプログラムで使用できます。

メイン プログラム ファイル(RUN コマンドで開始されるファイル)の #usage ディレクティブのみが有効になります。したがって、純粋なインクルード ファイルには独自の #usage ディレクティブも含めることができます(また、そのようにする必要があります)。

ファイルの先頭に #usage ディレクティブを記述し、コントロール パネルが表示する情報を検索するときに、残りのすべてのテキストを解析する必要がないようにすることをお勧めします。

使用方法に関する情報を複数の言語で提供する場合は、個々の言語のテキストをカンマで区切る必要があります。これらの各テキストは、それぞれの言語の 2 文字のコード(language() 関数によって提供)で始まり、その後にコロンと任意の数の空白が続きます。実際のシステムで使用されている言語に適したテキストが見つからない場合、最初に指定したテキストが使用されます(通常、プログラムにアクセスできるユーザ数を最大にするために、英語が使用されます)。

:

#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"