|
|
|
|
if 式
if 式は、与えられた単純式が真かどうか評価し、真の値に対応する式のリストの結果を返す条件ステートメントです。最初の単純式が false(0)と評価される場合、FormCalc は elseif および else 条件が真かどうか調べ、適切な場合は式のリストの結果を返します。
使用例
if ( 1 < 2 ) then 1
endif 結果:1
if ( "abc" > "def") then
1
else
0
endif 結果:0
if ( numTotal < 1000 ) then
numShippingCharge = 30
elseif ( 1000 < numTotal < 2000 ) then
numShippingCharge = 15
elseif ( numTotal > 2000 ) then
numShippingCharge = 0
endif
結果:numTotal の値に応じて変化します。例えば、numTotal が 1250 の場合、式は numShippingCharge を
15 に設定します。 |
アクセッサ
FormCalc では、フォームデザインのオブジェクトのプロパティと値にアクセスすることができます。アクセッサは、オブジェクトの特定の値とプロパティを割り当てたり取得したりできるメカニズムです。
$(FormCalc)
this(JavaScript)
現在のフィールドまたはオブジェクトを指します。例えば:
$ = "Tony Blue"
this.rawValue = "Tony Blue" |
演算子
加算 +
除算 /
等価 == eq
<> ne
論理積 & and
論理和 or
乗算 *
関係 < lt(より小さい)
> gt(より大きい)
<= le(より小さいまたは等しい)
>= ge(より大きいまたは等しい)
減算 -
単項 -
+
not |
行終端子
行終端子は、行を分けて読みやすくするために使用されます。
復帰 #xD
U+000D
改行 #xA

&#D;
|
空白
空白文字は、各種のオブジェクト、算術演算子および算術オブジェクトを相互に区切る文字です。空白文字は読みやすさを向上させるためのもので、FormCalc の処理には関係がありません。
改ページ #xC
水平タブ #x9
Space #x20
垂直タブ #xB |
繰り返しフィールド
1 つのコンテナ内に同じ名前のノードが 2 つ以上ある場合、その名前に対する参照は、フォーム内の順序で初めにマッチしたフィールドを指すものとして扱われます。例えば、ダイナミックバージョンの発注書サンプルで、detail サブフォーム上のフィールド(txtPartNum、txtDescription、numQty、numUnitPrice および numAmount)は複数回表示される可能性があります。この場合、名前だけでフィールドを参照すると、始めにマッチしたフィールドが返されます。
newField = txtDescription
名前が同じであると仮定して txtDescription の他のインスタンスにアクセスするには、配列 - サブスクリプトの表記規則を使用する必要があります。構文 [n](ここで n は数を表す)を用いて、同じ名前を持つオブジェクトのグループから特定のフィールドやオブジェクトを選択します。例えば:
newField = txtDescription[3]
配列 - サブスクリプトの表記規則はゼロベースなので、上の例は txtDescription の 4 番目のインスタンスを参照します。0 という数は 1 つ目のインスタンスを表します。フォーム上の別のコンテナから繰り返しフィールドを参照しようとする場合には、完全な SOM 式に配列 - サブスクリプトの表記規則が適用されます。例えば:
newField = form1.purchaseOrder.#subformSet[0].detail.txtDescription[3]
上の例では、subformSet も配列 - サブセットの表記規則を利用していることに注意してください。これは、フィールドやオブジェクトが同じ名前を持てるのと同じように、コンテナオブジェクトも同じ名前を持てるためです。 |
コメント
コメントは、FormCalc によって実行されないコードセクションです。通常、コメントには、特定のコードフラグメントの用途を説明した情報や指示が含まれています。コメントに記述した情報は、実行時にはすべて無視されます。
コメントは、セミコロン(;)、またはスラッシュのペア(//)を使用して指定できます。FormCalc では、コメントはその先頭から次の行終端子まで続きます。
コメント ;
// |
識別子
識別子は、関数名またはメソッド名を表す、長さが無制限の文字シーケンスです。各識別子は、次のいずれかの文字から始まっている必要があります。
(ユニコード文字の分類に基づく)アルファベット文字
アンダースコア(_)
ドル記号($)
感嘆符(!) |
キーワード
FormCalc 内のキーワードは予約済みの語であり、大文字と小文字が区別されます。キーワードは、アクセッサ、式の一部、特殊な数値リテラルおよび演算子として使用されます。
eq、le、this、do、exit、lt、throw、downto、for、nan、upto、else、foreach、ne、var、elseif、、func
、not、、while、end、ge、null、endfor、gt、or、endfunc、if、return |
変数
FormCalc の演算では、データを保存するための変数を作成したり処理したりできます。作成する各変数に割り当てる名前は、それぞれ異なる識別子である必要があります。
例えば、次の FormCalc 数式は userName 変数を定義し、userName の値となるテキストフィールドの値を設定します。
var userName = "Tony Blue"
TextField1.rawValue = userName
フォームのプロパティダイアログボックスの「変数」タブで定義する変数も同様に参照できます。次の FormCalc 数式では、Concat 関数を使用してフォームの変数である salutation と name を使用したテキストフィールドの値を設定します。
TextField1.rawValue = Concat(salutation, name) |