昔々ミレニアム騒動の頃、ビジュアル・ベーシックで色々なものを作って遊んでおりました。その当時こうして作った便利ツールのいくつかをここに載せようかと思っています。今のところ予定しているのは下記の4つですが、いずれもいまだ調整中か工事中です。従って、ほんの簡単な予告編のみ、掲載しておきます。
昔々ミレニアム騒動の頃ですが、ビジュアル・ベーシックで色々なものを作って遊んでおりました。そうこうしてプログラム・コードを書き連ねている内、コード同士の微妙な相違を比較するアプリが欲しくなった。で、アチコチ調べてみたんですが、行単位で相違を見付け出すソフトは色々あったが、文字単位で相違を炙り出すものが見当たらなかった。
そこで、作ってみました。まずまずのものが出来、そこそこ使えましたが、大量の文章(コード)を比較しようとすると、何故か動作が不安定になる。何時しか使わなくなり、忘れ去っていました。
六十も近くなって、またこのアプリが必要になってきました。小説を書き始めたんで、推敲した箇所をあとからチェックしたくなる。小説の書かれたファイルは、大きな改作の時にはその都度古いものを保存しておきますが、何しろ一作が十万文字を越えるような中・長編も幾つもありますから、これを各バージョンごと、どこをどう改作したか、一気に比較するのは大変です。その時、このアプリが役に立つ、改作の経緯が一目で分かる、推敲・校正時には欠かせない便利なツールです。
20年近くぶりに見直してみて、かつての不安定な動作の原因も分かりました。ソフトの核である“比較”するアルゴリズムに問題があったのではなく、比較結果を表示するリッチテキストボックスに難点があったのです。比較した結果の相違箇所を色付きで表示するのですが、そういう込み入ったコードが増えると途端に動作が不安定になるのです。相違箇所が50箇所ぐらいまでならいいんですが、100だ200だとなると、動きが鈍くなり、しばしば表示を間違え、遂にはフリーズしてしまう。これはHTMLでも同じです。コードが込み入ってくると、こちらもしばしば動作が不安定になる。――そこで、次善の策として、ファイルを分割する事にしました。大体40の相違箇所を目安にファイルを分けます。そうしたら、リッチテキストの表示具合が一気に改善され、サクサク動くようになりました。
昔、ネットから大量にデータをダウンロードしていた頃、溜め込んだデータが幾つものハードディスクに溢れ返り、大変なことになってしまいました。それらのファイルやフォルダを整理する必要に迫られ、その都度場当たり的に付け焼刃のツールを作り散らしておりました。今回それらのツールを整理しブラッシュアップしたのが、本アプリです。いろいろ雑多な機能が束ねられていますので、FF(ファイル・フォルダ)アーミーナイフというわけです。代表的な機能は、ルートフォルダ下のすべてのファイル・フォルダ名を出力する機能(いわゆるツリー)。大量のファイル・フォルダ名を、一遍に編集(挿入、削除、置換、付け替え)する機能。特定の文字列に該当する名を持つファイル・フォルダを、別フォルダに移す機能。ファイル・フォルダの大量のクローンを一気に作る機能(さらにそれらに一覧の別の名を付ける機能)。邪魔なフォルダ(解凍時のなど)から、中身を一遍に剥き出す機能。などなどです。
ズームアップ・ビュアー
昔々漫画をディスプレーで見ていて、「活字が細かくて読めん!」と思いました。あるいはページの一部分(特にムフフの)をアップにして見たい時、この部分が見たいのになぜ全体が均等に拡大されるんだ、と怒りました。今はルーペなどという機能があるようですが(使っていないのでよく知りませんが)、昔は全体を均等に拡大するビュアばかりだったし、使い勝手も非常に悪かった(拡大縮小したり画面を移動させたりするために、いちいちウインドウの端までマウスポインタ―を持っていく操作を繰り返さねばならなかった)。もっとストレスフリーに画面を自在に見られる方法はないものか。そう思い、作ってみました。
当時はマウスホイールなんてものはなかったので、左右ボタンのドラッグドロップだけで瞬時に(余計な操作なしに)移動も拡大縮小も出来るようにしました(左ボタンドラッグドロップでページが移動、右ボタンドラッグドロップで右へ引くと拡大左へ引くと縮小)。このやり方の方が直感的に操作出来て手になじんでいいように思います。
万能タイマー
昔の話、いろいろ作業をしていて、タイマーが欲しくなりました。短い時間を計測する必要もあったし、つい作業に没頭して時を忘れている時中断の必要を告げてくれる警告も必要だった。
こうした諸々必要な機能を盛り込んだアプリを手に入れたい時、タイマー程度のものなら、わざわざネットのあちこちを探すより、自分で作ってしまった方が手っ取り早い。自分で作れば、いくらでも機能を盛り放題出来ますし、その後の改良も自在です。まあ類似品はいくらでもありますから、皆さんの要望にマッチするか否かはわかりませんが。