リストをソートします |
ブック (PRIM_BOOK) のメンバ
名前 | タイプ | データタイプ | 記述 |
|---|---|---|---|
Key | *Input | バリアント | ユーザー定義のソート順序 |
Order | *Input (任意) | 列挙 | リストをソートする際の順序 |
Sort メソッドは、ブック内のソート処理を開始するために使用されます。
この処理により、 Prim_Book.BookDesign インターフェイスの OnSort メソッドは、ソートが必要と判断するたびに実行されます。
ソートは完全にユーザー定義されているため、ソート・ルーチンに Key(ソートされている 'value')と Order を指定する必要があります。 そして、この情報は OnSort メソッドで使用されます。
この例は、デザインの再利用可能パーツによって実装された、再定義された OnSort メソッドを示しています。
それは、 EMPNO 、 SURNAME および GIVENAME の3つの異なるソートをサポートしています これらの Key 値は完全に任意ですが、簡単にするために、特定のフィールド名と一致します。ここでの並べ替えは昇順のみです。
それぞれの場合、ローカル変数値は、同等の変数値、この場合はデザインインスタンスのプロパティとして公開された値と比較され、各値が他方よりも小さいか等しいか、または大きいかどうかが判定されます。
ソートプロセスが各項目を評価するときに、各項目に対して OnSort メソッドが何度も呼び出されることがあります。
Mthroutine Name(OnSort) Options(*Redefine)
Case (#Key)
When (= EMPNO)
#Result := #Empno.Compare( (#CompareTo.Design *As #EmployeePart).Empno )
When (= GIVENAME)
#Result := #Givename.Compare( (#CompareTo.Design *As #EmployeePart).Givename )
When (= SURNAME)
#Result := #Surname.Compare( (#CompareTo.Design *As #EmployeePart).Surname )
Endcase
Endroutine