| 4D v13.4SORT ARRAY | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v13.4
 SORT ARRAY 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SORT ARRAY ( array {; array2 ; ... ; arrayN}{; > または <} ) | ||||||||
| 引数 | 型 | 説明 | ||||||
| array | 配列 |   | ソートする配列 | |||||
| > または < | 演算子 |   | ">" : 昇順ソート, または "<" : 降順ソート, または 省略した場合降順ソート | |||||
SORT ARRAYコマンドは、1つまたは複数の配列を昇順や降順にソートします。
注: ポインター配列やピクチャー配列のソートは行えません。二次元配列の要素(例えばa2DArray{$vlThisElem})をソートすることはできますが、二次元配列そのもの(a2DArray)をソートすることはできません。
最後の引数は、ソートの昇順または降順を指定します。引数に大なり記号(>)を指定すると昇順にソートします。引数に小なり記号(<)を指定すると降順にソートします。省略した場合は昇順にソートします。
複数の配列を指定した場合、すべての配列が最初の配列の順番でソートされます。各配列ごとに個々にソートするわけではありません。
以下の例は2つの配列を作成し、companyでソートします:
 ALL RECORDS([People])
 SELECTION TO ARRAY([People]Name;asNames;[People]Company;asCompanies)
 SORT ARRAY(asCompanies;asNames;>)しかし、SORT ARRAY コマンドはマルチレベルソートを行わないため、会社ごとの従業員名の順序はばらばらのままです。各会社毎に従業員名をソートするには、次のようにします:
 ALL RECORDS([People])
 ORDER BY([People];[People]Company;>;[People]Name;>)
 SELECTION TO ARRAY([People]Name;asNames;[People]Company;asCompanies)次の例では、[People]テーブルから名前をフローティングウィンドウに表示します。ウィンドウ上のボタンをクリックすると、名前のリストをAからZへ、またはZからAへソートします。同じ名前の人が複数存在するため、インデックス付きで重複不可である[People]ID numberフィールドを使用できます。名前のリストをクリックすると、クリックした名前を持つレコードを取得します。同期がとられ、表示されないalIDs配列を利用することにより、必ずクリックした名前に対応するレコードにアクセスできます:
  ` asNames配列オブジェクトメソッド
 Case of
    :(Form event=On Load)
       ALL RECORDS([People])
       SELECTION TO ARRAY([People]Name;asNames;[People]ID number;alIDs)
       SORT ARRAY(asNames;alIDs;>)
    :(Form event=On Unload)
       CLEAR VARIABLE(asNames)
       CLEAR VARIABLE(alIDs)
    :(Form event=On Clicked)
       If(asNames#0)
  ` 正しいレコードを取得するためにalIDsを使用する
          QUERY([People];[People]ID Number=alIDs{asNames})
  ` レコードの処理を行う
       End if
 End case
 
  ` bA2Z ボタンオブジェクトメソッド
  ` 配列を昇順でソートし、かつ同期を保つ
 SORT ARRAY(asNames;alIDs;>)
 
  ` bZ2A ボタンオブジェクトメソッド
  ` 配列を降順でソートし、かつ同期を保つ
 SORT ARRAY(asNames;alIDs;<)
	プロダクト: 4D
	テーマ: 配列
	番号: 
        229
        
        
        
	
	初出: < 4D v6
MULTI SORT ARRAY
ORDER BY
SELECTION TO ARRAY