ソートについて要望No.03715
Suezo さん 13/01/09 13:26
 
いつも便利に使用させてもらっています。

ソートについて1点要望があります。
現状、名前でソートした場合、ファイル名の数値部分が数値として解釈されてソート
されています。
(Windows標準動作)

これを文字列として解釈してソートするオプション(モード)が欲しいです。

例:下記4つファイルの場合

 a1.txt
 a3.txt
 a23.txt
 a123.txt

現状は、昇順にすると上記の並び順の通りになります。
これの数値部分を文字列扱いして、下記のように並ぶモードを希望します。
 
 a1.txt
 a123.txt
 a23.txt
 a3.txt

ちなみに上記文字列をExcelで並べ替えると後者になります。
ほとんどの場合は、標準の動作で問題ないのですが、
時々、Excelと同じ後者の並びをするモードが欲しくなります。
(Excelの場合は逆のモードが欲しくなりますが)

具体的には、初版のデータは  a0001.txt (数値4桁は資料No)で作成し、
改訂1のデータは a000101.txt 改訂2のデータはa000102.txtというように改訂番号を
末尾に2桁追加するルールになっている場合です。
現状ですと、改訂があるファイルが末尾の方に表示されてしまいます。
フォルダ内に数千ファイルあったりしますので、こういう際に欲しくなります。

以上、検討よろしくお願いします。

[ ]
RE:03715 ソートについて要望No.03716
秀丸担当 さん 13/01/09 14:52
 

現状では言われている通り、数字が連続する数値として評価しています。

何か適当なカラムを追加した場合については、V1.00までは文字列としてのソー
トでしたが、V1.01以降では名前列と同じように数値として解釈したいという話
があり、名前列以外でも文字列の比較をする場合は数値として比較しています。

やるとしたら、そういう設定をつけるか、秀丸ファイラー専用のカラムを追加で
きるようにして文字列ソート用のカラムを付けるとできるとは思います。

あるいは、外部のカラム拡張DLLによってそういうソートにするためのカラムを
追加させるということも考えられます。
これだと現状のバージョンのままで、外部の拡張をインストールすることによっ
て可能にできると思います。
これだと本体に影響を与えずに簡単にできるので、そういう拡張を考えてみます。

[ ]
RE:03716 ソートについて要望No.03719
Suezo さん 13/01/09 17:11
 
>あるいは、外部のカラム拡張DLLによってそういうソートにするためのカラムを
>追加させるということも考えられます。
>これだと現状のバージョンのままで、外部の拡張をインストールすることによっ
>て可能にできると思います。
>これだと本体に影響を与えずに簡単にできるので、そういう拡張を考えてみます。

よろしくお願いします。


[ ]
RE:03719 ソートについて要望No.03721
秀丸担当 さん 13/01/11 10:33
 

今回ライブラリに拡張モジュールライブラリというのを作り、そこにカラム拡張
DLLを登録しました。
以下のページからダウンロードできます。

 文字列ソート
 http://hide.maruo.co.jp/lib/hmfcext/hmfilerclassicstrsort100.html

[ ]
RE:03721 ソートについて要望No.03722
Suezo さん 13/01/11 14:49
 
>
>今回ライブラリに拡張モジュールライブラリというのを作り、そこにカラム拡張
>DLLを登録しました。

素早い対応ありがとうございます。
試してみたところ、数値の部分は期待通りの動作でしたが、1点気になった部分があ
りました。
文字列部分の優先順位が「名前」でのソートの場合とかなり変わってい
ます。

「名前」でのソートの場合、「記号<数値<カタカナ<ひらがな<漢字」(Win7の場合)
の順ですが、
「文字列ソート」の場合は、記号が漢字の後にきたり、半角カタカナが
最後だったりしています。
※XPの「名前」でのソートでは「数値」が一番最初でした。
これをWin7の「名前」でのソートに合わせるのは大変でしょうか?


例1:「名前」でのソート(Win7)
 a b.txt
 a b.txt
 a(.txt
 a(.txt
 a..txt
 a..txt
 a.txt
 a-.txt
 a−.txt
 a_.txt
 a_.txt
 a※.txt
 a0.txt
 aア.txt
 aア.txt
 aあ.txt
 a一.txt

例2:「文字列ソート」でのソート(Win7)
 a b.txt
 a(.txt
 a-.txt
 a..txt
 a.txt
 a0.txt
 a_.txt
 a※.txt
 a b.txt
 aあ.txt
 aア.txt
 a一.txt
 a(.txt
 a−.txt
 a..txt
 a_.txt
 aア.txt

以上、確認お願いします。

[ ]
RE:03722 ソートについて要望No.03723
秀丸担当 さん 13/01/11 16:49
 

これは拡張ではなく本体の問題になりますが、現状では単純にUnicodeの文字
コードによる比較になっています。
本体を修正すればこれを調整することは可能です。

「文字列ソート」のカラム拡張限定ではなく他のカラムで文字列比較する場合に
も影響が出てしまいますが、名前カラムは標準のものを使うので、実用上、影響
が出るのは拡張DLLの場合だけになると思うので変更を検討してみます。

試してみたところでは、比較の方法にはいろいろパターンがあって、ハイフン
(-や−)の扱いがWindowsの標準はちょっと特殊なようで、ハイフンが全く同じ
にするのは難しそうですが、それ以外あだいたい近い感じにできそうです。

[ ]
RE:03723 ソートについて要望No.03725
Suezo さん 13/01/14 13:11
 
>試してみたところでは、比較の方法にはいろいろパターンがあって、ハイフン
>(-や−)の扱いがWindowsの標準はちょっと特殊なようで、ハイフンが全く同じ
>にするのは難しそうですが、それ以外あだいたい近い感じにできそうです。

私的にはだいたい同じで問題ないです。
よろしくお願いします。

[ ]
RE:03723 ソートについて要望No.03740
Suezo さん 13/01/17 10:41
 
Ver1.04 β9で動作確認しました。
ありがとうございました。

[ ]