[あすかぜ・ねっと]あすかぜ・ねっと自作ソフトCassava > サポート掲示板

Cassava Editor サポート掲示板

スレッド一覧に戻る返信

[216] 複数ソート

しのぶ [2011/01/24 16:25:32]

複数ソートについてです
マクロページのSort.cmsを見ると

// 複数列をキーにする場合などはこのファイルをコピーして、
// compare 関数をうまく書き直してください。

と、書かれていますが、どのように書き直せばいいのか、例を書いて頂けないでしょうか?よろしくお願い致します。


Re: [216] 複数ソート

あすかぜ [2011/01/24 23:41:23]

例を書いてみました。
http://www.asukaze.net/soft/cassava/macro/asukaze/bbs216_20110124.cms

この例では、ソート範囲に関わらず 1 列目・2 列目・3 列目をキーとしています。
compare 関数では、y1 行目と y2 行目を比較したときに y1 側が小さければ負の値を、y2 側が小さければ正の値を、等しければ 0 を返すようにしてください。

qsort() の外側からキー列を渡すようにするには、第 5 引数の x 部分を x1, x2, x3 などに拡張して compare 関数まで引き渡すか、文字列で "1,2,3" のように複数の列番号を渡すようにする必要があります。

よろしくお願いします。

Re: [216] 複数ソート

しのぶ [2011/01/25 14:07:00]

ありがとうございます
教えていただいたマクロで勉強したいと思います。
何か分からない点があれば、またお願い致します。

スレッド一覧に戻る返信