4D v13.4

配列を作成する

ホーム

 
4D v13.4
配列を作成する

配列を作成する  


 

 

配列は、この章で説明する配列宣言コマンドのいずれかを使用して作成します。次の表に、配列宣言コマンドを記載します:

コマンド配列の作成またはサイズ変更
ARRAY INTEGER2バイト整数値
ARRAY LONGINT4バイト整数値 (*)
ARRAY REAL実数値
ARRAY TEXTテキスト値(1要素は、2GBまでのテキスト) (**)
ARRAY STRING(Unicodeモードでは廃止) (**)
ARRAY DATE日付値
ARRAY BOOLEANブール値
ARRAY PICTUREピクチャ値
ARRAY POINTERポインタ値

配列宣言コマンドは、1次元または2次元の配列の作成やサイズ変更が可能です。2次元配列の詳細は二次元配列を参照してください。

(*) 倍長整数配列を使用して時間型のデータを操作できます。フォームに時間の配列を表示するには、割り当てられたフォームオブジェクトに表示フォーマット&/xを指定します。xの部分には時間フォーマットリストの番号を与えます。例えば、&/4Hour Min形式を表します。

(**) テキストおよび文字列配列は同じタイプの要素、文字タイプ、を扱います。

  • Unicodeモード (バージョン11の4Dで作成されたデータベースのデフォルトモード): テキスト配列と文字配列の間に違いはありません。ARRAY STRING コマンドのstrLen 引数は無視されます。このコンテキストでは、テキスト配列の利用をお勧めします。ARRAY STRING コマンドは互換性の理由で保持されています。
  • 互換モード (非Unicode): ARRAY TEXTARRAY STRING コマンドは異なります:
    • テキスト配列は、それぞれの要素が可変長であり、内容はメモリの別の場所に格納されます。テキスト配列のそれぞれの要素は32,000文字までを含めることができます。
    • 文字列配列は、すべての要素が同じ固定の長さを持ちます (長さは配列を作成する際 strLen 引数に渡されます)。すべての要素は順番にメモリの同じブロックに格納されます。このため文字列配列はテキスト配列よりも速くアクセスできます。しかし文字列配列には255を超える文字を格納できません。
      詳細はASCIIコードを参照してください。

次のコードは、10個の要素からなる整数配列を作成(宣言)します:

 ARRAY INTEGER(aiAnArray;10)

次のコードは、同じ配列の要素を20個にサイズ変更します:

 ARRAY INTEGER(aiAnArray;20)

次のコードは、同じ配列の要素をゼロにサイズ変更します:

 ARRAY INTEGER(aiAnArray;0)

配列中の要素は中カッコ ({…}) を使用して参照します。中カッコの中には数字を入れて特定の要素を指定します。この数字を要素番号といいます。次の行は、5つの名前をatNamesという配列に入れ、それらを警告ウィンドウに表示します:

 ARRAY TEXT(atNames;5)
 atNames{1}:="Richard"
 atNames{2}:="Sarah"
 atNames{3}:="Sam"
 atNames{4}:="Jane"
 atNames{5}:="John"
 For($vlElem;1;5)
    ALERT("The element #"+String($vlElem)+" is equal to: "+atNames{$vlElem})
 End for


atNames{$vlElem}というシンタックスに注目してください。atNames{3}のような数値そのものを指定するのではなく、数値変数を使用して配列の要素を指定できます。

ループ構造による反復を使用すると (For...End for, Repeat...Until または While...End while)、短いコードで配列のすべて、または一部のコードを指定することができます

この他にも配列の作成や処理を行う4Dコマンドがあります。特に次のようなコマンドです:

 
プロパティ 

プロダクト: 4D
テーマ: 配列

 
参照 

ARRAY BOOLEAN
ARRAY DATE
ARRAY INTEGER
ARRAY LONGINT
ARRAY PICTURE
ARRAY POINTER
ARRAY REAL
ARRAY STRING
ARRAY TEXT
二次元配列
配列