リストとは、パラメータ宣言をセミコロンで区切って並べ、全体を括弧で囲んだものです。各宣言はパラメータ名をコンマで区切って並べたもので、通常は、その後にコロンと型識別子が付加されます。記号によってデフォルト値が指定されることもあります。パラメータ名は有効な識別子でなければなりません。いずれかの予約語を付加できます。リストには、そのルーチンが呼び出されたときにルーチンに渡すパラメータの個数、順序、および型を指定します。パラメータのないルーチンの場合は、次のように識別子のリストと括弧を記述しません。Y)は、手続きまたは関数の本体内でローカル変数として使用することができます。パラメータ名を手続きまたは関数本体のローカル宣言部で再び宣言しないでください。セマンティクスパラメータは、次のようにさまざまな分類ができます。パラメータのいずれかに分類されます。値パラメータがデフォルトです。パラメータを表します。値パラメータには必ず型を指定します。パラメータは、型を指定しても型なしでもかまいません。配列パラメータには特別な規則が適用されます。ファイルと、ファイルが含まれる構造化型のインスタンスは変数パラメータ(var)としてしか渡せません。値パラメータと変数パラメータ大部分のパラメータは、値パラメータ(デフォルト)か変数パラメータ(var)のどちらかになります。値パラメータは値で渡され、変数パラメータは参照で渡されます。つの関数を例に示します。これらの関数を次のように呼び出してみます。値は、このコードの実行後も代入時点と変わりません。代入時とは異なる値になっています。値パラメータは、手続きまたは関数の呼び出し時に渡す値に初期化されるローカル変数のような働きをします。変数を値パラメータとして渡すと、手続きや関数はそのコピーを作成します。そのため、コピーに変更を加えても元の変数の値は変わらず、プログラムの実行が呼び出し元に戻った時点でコピーの内容は失われます。変数パラメータはコピーではなくポインタのような働きをします。関数や手続きの本体部分でパラメータに加えた変更は、プログラムの実行が呼び出し元に戻り、パラメータ名自体がスコープ外になっても失われません。パラメータに渡された場合であっても、コピーは作成されません。次に例を使って説明します。指定されている場合)、逆参照ポインタ、フィールド、インデックス付きの変数など、代入可能な式を渡さなければなりません。パラメータに渡されたインデックスまたはポインタの逆参照は、ルーチンの実行前に一度評価されます。定数パラメータ定数パラメータ(const)は、ローカル定数や読み取り専用変数のようなものです。定数パラメータは値パラメータに似ていますが、手続きや関数の本体で定数パラメータに値を代入したり、定数パラメータを別のルーチンに変数パラメータ(var)として渡すことはできません。オブジェクトの参照を定数パラメータとして渡すときは、そのオブジェクトのプロパティに変更を加えることは可能です。指定すると、コンパイラではコードを最適化できます。パラメータが別のルーチンに誤って参照渡しされるのを防ぐこともできます。本体で変更されないので、どちらも定数パラメータとして宣言できます。定数パラメータを関数に渡す際は、参照渡しでも値渡しでもよく、そのどちらになるかは、使用する個々のコンパイラによって異なります。属性を使用すると、コンパイラに定数パラメータを強制的に参照渡しさせることができます。パラメータは、変数パラメータと同じように参照によって渡されます。パラメータの最初の参照変数の値は、呼び出し先ルーチンに渡る前にいったん破棄されます。パラメータは結果を受け取ることしかできません。結果を保存する関数や手続きであって、入力を提供することはありません。次に、手続きのヘッダーの例を示します。型の変数を渡す必要があります。手続きに特定のデータを渡すわけではありません。よって生成される情報を格納するコンテナです。よって使用されているメモリがただちに解放され、その後でプログラム制御が手続きに渡されます。モデルで多用されます。パラメータを使用できます。(値パラメータは必ず型を指定する必要があります)。いう手続きを宣言しています。このようなルーチンを呼び出すときに、数値や型なしの数値定数を渡すことはできません。手続きや関数の本体内では、型なしパラメータはどのような型とも互換性がありません。型なしパラメータに対して操作を実行するときはキャストする必要があります。通常、コンパイラは型なしパラメータに対する操作が有効かどうかを確認できません。型なしパラメータを使用しています。Size;end;次のような宣言が行われているとします。bytes文字列パラメータ短い文字列型のパラメータをとるルーチンを宣言するとき、そのパラメータ宣言では長さを指定できません。errorただし、次の宣言は有効です。