Crystal Reports Designer  

複数行の式(Crystal 構文)

式は 1 行に収まるのが普通ですが、必要な場合は 1 つの式を次の行に続けることもできます。

上の式は 5 つの式で構成されています。この式は、25 が式の中の最後の式の値なので、数値型の値 25 を返します。

//式の例
//最初の式。その値は数値型の
//値 30 です
10 + 20;
//2 番目の式。その値は文字列型の
//値 "Hello World" です。この文字列は 2 行を使用しています
"Hello " +
"World";
//3 番目の式。その値は数値型です
{Orders Detail.数量} * 2 - 5;
//4 番目の式。その値は文字列型です
If {Orders Detail.数量} > 1 Then
"2 個以上"
Else
"1 個";
//5 番目の最後の式。その値は数値型の
//値 25 です
20 + 5

式の中の最後の式の後にもセミコロンを入れることができますが、これは任意です。たとえば、セミコロンを使用して、上の式を次のように終了することもできます。

20 + 5;

」で示されている式の例の一部には、セミコロンが使用されていません。それは、それらの式が 1 つの式で構成されており、最後の式の後のセミコロンは任意だからです。Crystal 構文の式の多くは単一の式として作成できます。

“2 個以上”という文字列の後にはセミコロンがない点に注目してください。そこに実際にセミコロンを入れると、プログラムによってエラーが知らされます。それは、セミコロンが式を区切るためのものであり、一方

Else
"1 個";

は別の式ではないからです。この部分を If から切り離すことはできません。実際この部分には、式が一定の状況の下で返す値が記述されているので、If 式には不可欠です。

   この例では、式の中の最初の 4 つの式が最後の式に何の影響も及ぼさないので、実際に使用されるような式の例ではありません。

式が後の式に及ぼす影響

Crystal 構文の式が式の連なりから成り、各式の値が最終的な式の値にもなるということは、Crystal 構文を理解する上で最も重要な点です。式を基本にするこの構文を使用すると、多数の機能を持つたいへん短い式を記述できます。

//最初の式。この式は、数値型の変数 x を宣言し、
//初期化されていない数値型変数の値 0 を
//返します
NumberVar x;
//2 番目の式。この式は、x に値 30 を代入し、
//30 を返します
x:=30

上の式に最初の式がなかったとすると、上の式はエラーになります。それは、2 番目の式が数値型の変数 x を参照しており、x が宣言されないと、プログラムが x を含む式を理解できないからです。

一般に、前の式の結果を後の式の結果に影響させるには、変数を使用します。「変数」を参照してください。

参照

If 式