Crystal Reports Designer  

配列変数の宣言(Crystal 構文)

配列変数を宣言するには、データ型名の後にキーワード Array を指定します。

//x を数値型配列のグローバル
//変数として宣言します
Global NumberVar Array x := [10 , 20, 30];
//cost は通貨型配列のグローバル変数です
//自動的に Global になります
//スコープ指定子(Local、Global、Shared)が省略されているので
CurrencyVar Array cost := [$19.95, $79.50, $110.00,
                           $44.79, $223.99];
//payDays は日付型配列のグローバル変数です
Global DateVar Array payDays := [CDate(1999, 5, 15),
CDate(1999, 5, 31)];
//y は文字列型範囲配列の共有変数です
Shared StringVar Range Array y := ["A" To "C",
"H" To "J"];
//days は文字列型配列のローカル変数です
Local StringVar Array days;
days := ["日", "月", "火", "水", "木",
"金", "土"];

配列の要素への値の代入

配列の要素に値を代入したり、要素の値を使ってほかの計算に使用することもできます。

StringVar Array x := ["hello", "bye", "again"];
x [2] := "once"; //x は ["hello", "once", "again"] になります
//配列のサイズが 3 なので、次の式は
//コメントにしないとエラーになります
//x [4] := "zap";
//この式は文字列 "HELLO" を返します
UpperCase (x [1])

Redim および Redim Preserve キーワードを使用すると、配列のサイズを変更して、配列に情報を追加できます。Redim は、以前の配列の内容を削除してから配列のサイズを変更します。一方 Redim Preserve は、以前の内容を保持します。

Local NumberVar Array x;
Redim x [2]; //x は [0, 0] になります
x [2] := 20; //x は [0, 20] になります
Redim x [3]; //x は [0, 0, 0] になります
x [3] := 30; //x は [0, 0, 30] になります
Redim Preserve x [4]; //x は [0, 0, 30, 0] になります
"終了"
Local StringVar Array a;
Redim a [2];
//配列 a の 1 番目の要素に値を代入します
a[1] := "good";
a[2] := "bye";
//文字列の連結には & 演算子を使用できます
a[1] & a[2] //この式は文字列 "goodbye" を返します

配列と For ループ

配列は、よく For ループと共に使用されます。次の例では、配列 Array[10, 20, 30, ..., 100]を作成し、For ループでその配列を使用しています。

Local NumberVar Array b;
Redim b[10];
Local NumberVar i;
For i := 1 To 10 Do
(
b[i] := 10 * i
);
b [2] //この式は数値 20 を返します

参照

For ループ