4D v16.3MULTI SORT ARRAY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
MULTI SORT ARRAY
MULTI SORT ARRAY
MULTI SORT ARRAY コマンドにより、一連の配列に対してマルチレベルソートを実行することができます。 このコマンドは2種類の構文を受け入れます。
配列だけを渡すか、あるいは (配列;> または <) の組み合わせを必要なだけ渡すことができます。引数として渡された配列はすべて、同期化されて並び替えられます。 ポインタタイプやピクチャタイプの配列を除き、任意のタイプの配列を渡すことができます。二次元配列の要素(例えばa2DArray{$vlThisElement})を並び替えられますが、二次元配列自体を並び替えることはできません(例えばa2DArray)。 配列の内容を並び替え条件として使用するには、sort 引数を渡します。この引数の値 (> または <) により、その配列の並び替え順序(昇順または降順)が決まります。sort引数を省略した場合、その配列の内容は並び替え条件として使用されません。 Note: コマンドが正常に機能するには、少なくとも1つの並び替え条件を渡さなければならないということを覚えておいてください。並び替え条件が設定されていない場合はエラーが生成されます。 コマンドに渡した配列の順番により、並び替えレベルが決定します。つまりシンタックス中、並び替え条件が指定された配列の位置により、その並び替えレベルが決まります。
ptrArrayName引数には、配列ポインタの配列名を指定します。この配列の各要素は、並び替える配列を示すポインタです。ptrArrayNameに指定した配列ポインタの順に、並び替えが実行されます。 警告: ptrArrayNameがさすすべての配列は同じ要素数でなければなりません。 Note: ptrArrayName は、ローカル($ptrArrayName)、プロセス(ptrArrayName)、インタープロセス(<>ptrArrayName)タイプのポインタの配列を指定することができます。これとは逆に、この配列の要素が指す対象は、プロセス配列またはインタープロセス配列でなくてはなりません。 sortArrayName引数には配列名を渡し、この配列の各要素は対応するポインタ配列要素の並び替え順(-1、0または1)を示します: Note: ポインタタイプやピクチャタイプの配列を並び替えることはできません。二次元配列(例えばa2DArray{$vlThisElement})の要素を並び替えることができますが、二次元配列そのもの(例えばa2DArray)を並び替えることはできません。 ptrArrayName配列の各要素に対して、対応するsortArrayName配列の要素が存在していなければなりません。したがって、必ずこの2つの配列の要素数は同じになります。 次の例題では1番目の構文を使用します。4つの配列を作成して都市(昇順)そして給与(降順)で並び替えます。最後の2つの配列、namesとtelNumsは、前の並び替え条件に応じて同期されます: ALL RECORDS([Employees]) 配列namesを3番目の並び替え条件として使用したい場合は、引数であるnames配列の後に > または < を付加します。 このシンタックスは: MULTI SORT ARRAY(cities;>;salaries;names;telNums) 以下と同じです: SORT ARRAY(cities;salaries;names;telNums;>) 次の例題では2番目の構文を使用ます。4つの配列を作成し、都市(昇順)と会社(降順)で並び替えます。最後の2つの配列、names配列とtelNums配列は、前の並び替え条件に応じて同期化されます: ALL RECORDS([Employees]) 3番目の並び替え条件としてnames配列を使用したい場合には、sorts_Array {3}要素に値1を割り当てる必要があります。または、都市だけを条件として配列を並び替えたい場合は、sorts_Array {2}、sorts_Array {3}、sorts_Array {4}の要素に値0を割り当てます。すると、SORT ARRAY(cities;companies;names;telNums;>)と同じ結果を得ることができます。
参照
|
プロパティ
プロダクト: 4D 履歴
変更: 4D 2004 ARTICLE USAGE
ランゲージリファレンス ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||