今回のバージョンアップは、サイズソートでのバグが引き金となっています。
ありがたい事にユーザの方から「サイズでソートすると変だお(はぁと)」とご連絡頂き、
「はっはっは、そんなはずは......んなーーーーーーーーー!!」って感じで修正しました。(-_-;;
いやぁ、ユーザは作者より良く見ている(汗)
サイズはリストに入った段階で文字列処理して表示させているので、そのままソートすると文字列ソートに
なってしまうんですよね。当たり前ですが...。なので、「100 KB」より「60 KB」の方が
下に表示されてしまいます。
これの対策としては、リストに動配列をくっつけてそれをソートしようと試みました。
動配列で、このリストはこのサイズというのを関連付けておけば、数字比較が出来ると考えたわけです。
しかし、ソート用コールバック関数では動配列が呼べないようだったのであえなく撃沈(笑)。
仕方が無いので、文字列→数字 変換してチマチマソートしてます。いやぁでもコールバック関数
の理解が深まって良かった良かった(w
取り敢えずサイズソートは2時間程度で終わったのですが、どうせだったので
ユーザさんからチラホラ問い合わせがあった「下位層検索」を追加しました。
これは基本処理部分を1/3位書き直す必要があったため、今まではあまり
やりたくなかったのですが、リストに動配列を付けるついでに実現してみました。
...結局動配列の方は使わずじまいだったので消しましたが (T-T
下位層変更で一番大変なのは名前の整合性チェックです。
変更後のファイル名が使われていた場合はもちろんですが、
A というファイルと B というファイルが同じ C というファイル名に変更される場合もあります。
それだけならまあ中級程度の難度だと思いますが、リストはどうソートしてあるか分かりません。
もしかしたらフォルダ毎に並んでいないかもしれない。
そしてそれを複数のフォルダで監視しなければならない...
もう考えただけで頭が痛くなりそうですね。
このルーチンを考えるのに一番時間を使いました。結果なかなか巧いルーチンをひらめいたので
処理的にも効率的にチェック出来ていると思います。プログラムで一番面白いのは、こういった
特殊なルーチンを考えて成功した時ですね。
DearDirのソートも独自ルーチンなのでチョッパヤです。あれも自信作。
テストもいろいろやりました。下位層表示して別フォルダ同名とか、思いつくだけのテストを
しましたが、私の予想だとバグありそうですね(w 今回も公開までヘルプを残すのみってところで
友達にゲームを借りてしまい、2週間くらい遊んでたので公開が遅れたんですが(オイオイ)、
その間に致命的なバグを発見できたので修正することが出来ました。いやぁ、危なかった。(苦笑)
使っていればまた細かい部分で色々出てくると思いますが、その都度更新で行きたいと思います。
それと今回から、ファイル名に変更がない場合は変更後名を表示しないようにするようにしました。
これでどのファイルを変更するのか、変更しないのかが一目瞭然です。
昔は変更前と変更後が同名でも表示されていたので、どのファイルが同一ファイルか
分かりにくかったんですよね。まぁこれで多少使い勝手があがったと思います。
因みに、Namery.iniの中で SameCleared=0 とすると従来どうりの全表示スタイルに出来ます。
使わないでしょうが、裏スイッチとしてそうしてあります。
なんかそろそろNameryも Ver 2.xx になりそうですね。当初考えていた仕様よりも高いところで
落ち着いてきました。画面表示も結構変わったし。
それもこれもユーザさんの応援のおかげです。私的にはVer 1.23あたりで満足なんですが、
色んな方の色んな声を聞いてここまで作りこむ事が出来ました。感謝感謝です。
さて、次は何を作りましょうかね。いや、当分ゲームでもして遊びたいところです。今は(笑)