第10章 制作後記

Version 1.00

 本ソフトは、Windows上で動作するフリーのCコンパイラLCC-Win32で製作した始めてのソフトだったりします。ゆえに、Windows(コンソールだけど)用のソフトという意味では始めてだったりします。
 始めてということで、苦労した点としては、ファイル名の調べ方や、ファイルの最終書きこみ時刻の調べ方が分からないので、ヘッダファイルを見たり、何回も試行錯誤したりして、何とか実用に耐えるものができました。
 それ以外は、一般的なC言語しか使っていないので、MSXとか、MS-DOS上で、何本もソフトを組んできた経験を生かすことができました。
 本ソフトを作ったきっかけとしては、ネットサーフィンをしていて目に付いたページを1つのディレクトリに保存していたのですが、ファイルが多くなってきて、わけが分からなくなってきたので、インデックスページがあると良いなと思って、同種のソフトを探してみて、同種のソフトはあったのですが、文字コードの自動判別ができずに文字化けしていて、いちいちShift-JISに変換するのも面倒で実用に耐えなかったので、作ってしまったというのがきっかけだったりします。  WindowsのGUIアプリの作り方を知らないもので、コンソールプログラムになったのですが、案外使えるものができたのではないかと思います。
 コンパイラもネットワークから持ってくる気になるようなコンパクトさ(作者追記:LCC-Win32ね)で、統合環境を備えていて、エディタに日本語が通らないとはいえ、C言語の知識だけでも結構使えるものができるので、挑戦してみてはいかがでしょうか。

Version 1.30

 最初のバージョンから1年経って、自分が使う機能を中心に機能追加したり、バグフィックスしたりしてきましたが、どうせならGUI版も作ってみたいなとSDKでのプログラミング入門のページの類を見ながら思うようになってきました。
 で、作ったのがGUI版ですが、エクスプローラーの右クリックメニューに仕込んだりするのにはコマンドライン版のほうが便利なので、GUI版とソースを共有できるようにして作ってみました。
 手元にはWin32用で4つCコンパイラがありますが、結局コンソール版は生成される実行ファイルの小ささから、相変わらずLCC-Win32です。
 LINSETUP.EXEはビルドするための環境設定が面倒なので、VC++6のコマンドラインコンパイラーでランタイムなしでも動くようにしたため、意味もなくでかいです。

Version 1.30_W

 で、作成したのがGUI版ですが、VC++買ってから3ヶ月かかりました。
 初めてのWindows GUIプログラミングということで、書くコードが多い分、何かと時間がかかった上に、最後になって、GUI関連部分をダイアログベースから一般のウインドウベースにしたり、入力の組み合わせにウインドウのサブクラス化を行ったりと試行錯誤の連続でした。

Version 1.31_W2

 いちいちメニューから選択するのは面倒なのでツールバーをつけてみました。
 ツールバーの作成やら、IsDialogMessage関数の影響なのか、1度各コマンドを実行したあとALTキーを使ったショートカットが働かない場合の対策やらで見えないところで結構苦労しました。
 それでも、うまく動くかどうかまだ不安な気がします。

 テストしているうちに、文字コード回りの処理がおかしいことがわかったので、文字コードの認識・変換周りに大幅に手を入れてみました。これで、SHIFT-JISが対応していない補助漢字を除くJIS漢字コードにISO-2022-JP,EUC-JPエンコーディングでも対応できたと思います。
 半角カナや新旧JISコードのISO-2022-JPエンコーディングでの違いなど結構面倒でした。
 見た目はツールバーくらいしか変わってないはずなのに、内部では結構苦労したバージョンでした。

Version 1.32_W2.2

 うわっ、1年経ってる。
 HTMLの解釈を強化しようとプログラム組んでたら別のプログラムが形になって、しかも結構受けたのでこんなに間があいてしまいました。
 この間にMozillaを使うようになって、Webページの完全保存を使うようになっていたので、これには対応したいということでバグの修正もあったことだし、ここらで出してみるかということで、作ってみました。
 1年とは長いもので、この間にWindows XPが出たので試してみたら表示上のボロが色々と出て、APIによるWindowsプログラミングの難しさを実感したり、いろいろな環境での動作確認の大切さを実感したりした次第です。

Version 1.40_W2.3

 今回は機能追加が結構あったのでマイナーバージョンを上げてみました。
 今回の機能を作り出したきっかけは会社で開発資料の整理に使っていてMicrosoftのページがUTF-8を使っていたので必要に駆られたということです。
 また、Webページ上に置かれたプレーンテキストをHTMLの入ったディレクトリにいっしょに放り込む事があるのでテキストファイルに対応したりもしてみました。
 細かい機能の追加ですが、使いでのある機能を追加できたのではないかと思います。

Version 1.41

 今回はスタイルシートに対応してみました。
 職場で用語集を作成するソフトを見ていて、触発されたのがきっかけだったりします。
 スタイルシートへの対応自体はそれほど難しいわけではありませんでしたが、久々にいじったので多少戸惑うところもあったりしました。
 スタイルシート機能はHTMLとCSSと本プログラムの生成するスタイルシートのクラス構造になれる必要があるのでやや難しいかもしれませんが、慣れるとページの装飾をスマートに行うことができるのでこの機会にマスターしてみてはいかがでしょうか。

 ロジック自体は、たいしたことはないですが、アイコンの色とか、Webページがいまだに移転前とかといった細かいところを直したのと、自分の中でなかなか移行が進まないVC++ Ver.7.1(Visual Studio.net 2003)への移行ができたので自分としてはそれなりに納得のいくものになったと思います。

Version 1.41a

 勤務先で個人的メモをまとめるのに使っていて、設定ファイルをコマンドラインから読み込めたら便利ではないかと思いついて起動時の設定ファイル読み込みを追加しました。
 前のバージョンから丸一年。また使い道やネタが思いついたら更新しようと思っています。

Version 1.41a

 ディスクの整理がてらに使用していてバグが見つかったので修正しました。
 なんとも間抜けです。

Version 1.42

 えらく久々のバージョンアップです。
 これで、曲がりなりにも制作期間が10年を超えました。
 今回はHTMLを保存したフォルダを見ていて、Webアーカイブ(MHTML)への対応を忘れていたなということで作りました。

 久々だったので、ソフトウェアの機能以外の面でいろいろと直したいところはありますが、とりあえずは機能から手をつけてみました。また何かの折にいじれたらと思っています。

 ちなみに、Webアーカイブ(MHTML)はIEではうまく作れなかったり、表示する際にエラーが出てまったく表示できないことがあるので、Webアーカイブ(MHTML)を扱うときはOperaがお勧めだと思います。

Version 1.43

 今回は、隠しフォルダの表示設定を見直していて、.filesフォルダや_filesフォルダを隠しフォルダにすると便利ではないかということで手で.filesフォルダや_filesフォルダを隠したらエクスプローラの表示がすっきりしたので、これはいけるのではないかと思って、機能を追加してみました。
 他、GUIの用語の一部見直しとか、内部の処理の見直しといった細々とした変更を行っていたりもします。