- PR -

LZH圧縮について

投稿者投稿内容
ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2006-09-13 09:37
こういうことではなくて?

  【ASP.NET】自己解凍書庫の作成について

ハズしてたら、ごめんなさい。
くー
ベテラン
会議室デビュー日: 2005/02/07
投稿数: 86
投稿日時: 2006-09-13 10:31
投稿されてたんですね。かぶったかもです(^^;)
リンク先有難う御座います。

ひろれいさんの投稿見た所、多分そういう事だと思います。
参考にさせて頂きますm(_ _)m
_________________
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-09-13 11:27
このあたりってどのように解決したんですか?
Queuing の仕組みか何かを作った?
もし良かったら後学のために教えていただけるとうれしいです。
引用:

ひろれいさんの書き込み (2006-04-10 18:00) より:

スレッドセーフでは無いというコメントは、UNLHA32.DLL の資料で嫌というほど見ました。この点については、ちょっと勉強してみようと思います。



_________________
かるあ のメモスニペット
ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2006-09-13 11:51
引用:

かるあさんの書き込み (2006-09-13 11:27) より:

このあたりってどのように解決したんですか?
Queuing の仕組みか何かを作った?
もし良かったら後学のために教えていただけるとうれしいです。


業務的に、月に1度報告書を作るだけという仕様だったため、
それ程ナーバスになる必要がなかったもので、
単純にアプリケーション変数でロックするようにしました。
(基本的に、報告書を同時に複数の人が作成することがほとんどあり得ないので、業務仕様上、ロックすら必要ない感じです)

参考にならず、すいません。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-09-13 12:41
引用:

ひろれいさんの書き込み (2006-09-13 11:51) より:

業務的に、月に1度報告書を作るだけという仕様だったため、
それ程ナーバスになる必要がなかったもので、
単純にアプリケーション変数でロックするようにしました。
(基本的に、報告書を同時に複数の人が作成することがほとんどあり得ないので、業務仕様上、ロックすら必要ない感じです)


ご返答ありがとうございます。
なるほど、確かに運用でフォローできるのならそれでも良いですよね。

実際にリアルタイムで圧縮するとしたら、
処理を Queuing したり、DLL の状態を調べながら行ったりと、
いろいろめんどくさそうですよね。。。

スレッドセーフにしたいなら Lha のアルゴリズムを調べて自分で実装とか、
そもそも Zip でいいじゃんとかなりそうですけれど。

引用:

参考にならず、すいません。


いえ、とんでもないです。
ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2006-09-13 12:57
引用:

かるあさんの書き込み (2006-09-13 12:41) より:

スレッドセーフにしたいなら Lha のアルゴリズムを調べて自分で実装とか、
そもそも Zip でいいじゃんとかなりそうですけれど。



僕も個人的には「zip でいいじゃん」派です。
前回は、ユーザ環境に依存した関係上、LHA になったわけですが、特に問題がなければ、わざわざ LHA を利用する必要はないかな、と思います。
くー
ベテラン
会議室デビュー日: 2005/02/07
投稿数: 86
投稿日時: 2006-09-13 13:18
お陰様でLZHを作る事ができました!

private void button1_Click(object sender, System.EventArgs e)
{

// 基準ディレクトリを決定
string baseDir = Path.GetDirectoryName(@"C:\WORK\LZH\");

// 作成する書庫名を決定
string archive = @"C:\WORK\LZH\TEST.LZH";

// 圧縮処理
string[] s = new string[1];
s[0] = baseDir + @"\a.txt";
LhaCompressFiles(s, archive, baseDir);

}

ただし、解凍するとなぜかC#フォルダ→LZHフォルダ→a.txtと
圧縮するファイルまでの経緯にあるフォルダまで付いて来るのが気になります。

明日以降、ひろれいさんの投稿に目を通すのと
解凍したら圧縮したファイルだけが取れるように改善して行きたいと思ってます。
(進展したらここに投稿します)


○9/14
ひろれいさんのやり方で確認して完成しました。
上手くファイルだけ圧縮されましたしコードも少なくてシンプルですね(^^)

当初の目標まで出来ました。
これもお二人のお陰ですm(_ _)m

[ メッセージ編集済み 編集者: くー 編集日時 2006-09-14 11:51 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-09-14 22:44
引用:

ただZIPはディレクトリ(フォルダ)にもなるのでファイルだけとして見る?
LZHのが扱いやすいだろうと聞いて作るに至りました。


日本だけの、正規ユーザへの特典→Microsoft 圧縮 (LZH 形式) フォルダ link to microsoft.com
トップページから飛べない(--;

スキルアップ/キャリアアップ(JOB@IT)