lineの日記: 解凍/展開アプリ 2
VB6ではなんとなーく作ってたけれど。最初にUnlha32.dllを使う部分を作って、あとはコピーして関数名とかを置換していけばいいので楽だった。参考となるソースも多かったし。
で、VB6の経験から、目標が無ければ言語も習得できないということで、C#で解凍アプリでもやってみようかなと。当面はLHA書庫の操作を対象に、DLLを呼ぶ形で。
.libファイルをプロジェクトに追加するとかでDLL要らずにも出来るみたいだけど、また今度。
MSDNライブラリでC#から外部DLLを呼ぶ方法を探し当てた。@ITの記事(@IT:.NET TIPS Win32 APIやDLL関数を呼び出すには?)でWin32APIを呼ぶ方法・引数の型の対応表も見つけた。
いまは書庫を操作するクラスを作りそれを適宜呼ぶことにして、作るべきメソッド・プロパティを考えているところ。圧縮操作も加えるか否か、も。
GUIはAnchorプロパティなどもあって楽に出来そうな気がする。ただ、具体的にどのようにするかはまださっぱり。やっぱり自分で作るからには自分が使いやすいものでないとダメだと考えたものの、その使いやすいUIってのはどんなんだろうと考えてしまった。
WinRARみたいに解凍時に解凍先を選ぶか、既にテキストボックスに入れてある解凍先に解凍するか、とか。
書庫ファイルを開くとき、書庫内のファイル情報はどう表示するか……ツリー型でディレクトリ情報を再現するか、ばーっと一ファイル一行のリストにするか。
そもそも書庫ファイルはどう選ぶのか。書庫ファイル選択ペインも作るのか、D&Dやファイルを開くメニューで書庫を開き、書庫情報ペインだけ表示するのか。
あと進行度のプログレス表示を自前にするかどうか。
投げ出さずに組めるかな。コード書いてるうちに、よく飽きるんです…。
がんばれー (スコア:1)
こちらも5年ほど前にUNLHA32.DLLをいじくってたらいつのまにか解凍ソフトになってた経歴がある(圧縮機能拡張可能、既にテキストボックスに入れてある解凍先に解凍、なタイプに現在は落ち着いてる)ので、おなじ/.er の解凍ソフト作者としてlineさんの応援しはじめます。C# 製解凍ソフトというのが面白そうですし。
# 開発以前に仕事量爆発気味であまり暇なしなのでID。
Re:がんばれー (スコア:1)
解凍ソフト作者さんということでardryさんのサイトを見たところ、昔見たような感じが。何とArchwayもMelticeも、以前使わせていただいてましたよ! "以前"なのは、初めに使ったRarUtyの操作感から離れられず、結局類似のUIを持つ他のソフトに移行してしまったからなのでした・・・。
昔に参考とさせていただいたソフトの作者さんから応援されるというのも不思議な感じがしていますが、完成目指して作っていきたいです。今は初めてのレポート課題に苦戦しているので、書庫か否かチェックするメソッドをとりあえず実装してから進んでなかったりしますが。