配列を使用するときにそのサイズを見積もることができない場合があるため、動的配列、つまり使用中に配列のサイズを動的に変更することを考えるのが簡単です。これは VB で簡単に実装できます。具体的な例を使って説明します。
VB で動的配列を定義するには、通常、次の 2 つの手順が必要です。
(1) フォームレイヤーまたは標準モジュールで添字なしの配列をDim、Private、またはPublicを使用して宣言します(括弧は省略できません)。
(2) ReDim文を使用して添字付きの配列を途中で定義する
ReDim ステートメントの機能は、配列のサイズを再指定することです。プログラムが ReDim ステートメントを実行するときに、記憶域スペースが割り当てられます。
形式: ReDim(配列名)(添字)[As(型)]
機能: 動的配列のサイズと記憶領域を変更します。
例証します:
(1) 添字には、定数または明確な値を持つ変数を使用できます。
(2) ステートメント内の各パラメータの意味は、Dim を使用して配列を定義するステートメントと同じです。
(3) ReDim ステートメントは動的配列にのみ使用できます。各次元のサイズは変更できますが、次元数は変更できません。
(4) プログラムがコンパイルされると、ReDim ステートメント内のすべての配列が動的配列として宣言されます。プログラムの実行中、ReDim ステートメントが実行されると、新しい上限と下限が配列に再割り当てされ、配列要素の値が初期化され、すべての数値要素の値が 0 に設定されます。文字列要素は空の文字列に設定されます。
(5) ReDim文でもDim文と同様に配列を定義できます。同じプログラム内で、ReDim ステートメントを複数回使用することもできます。 :ReDim ステートメントを使用して配列を再定義する前に、:Erase ステートメントを使用して元の配列を削除できます。
例:
Dimaa()AsLong' は動的配列を定義します
Redimaa(10)'動的配列のサイズを調整する
私を整数として暗くする
i=1 ~ 10 の場合
aa(i) = i
次
Redim aa(5) '再度サイズを変更します
...その他の操作