2007年09月11日

ファイル名変更君 Version 2.30

 今日は「ファイル名変更君」をバージョンアップグッド(上向き矢印)しました。
 変更内容は、リネーム方式に「ハッシュ」を追加です。
 ベクターにも差し替え願いメールを出しました。
 ベクターへは久しぶりにメールをしたような気がします。

 今回の変更は、CRC32,MD5,SHA-1のハッシュ値をファイル名にしたり、既存のファイル名に追加したりできる機能です。
 ここでハッシュ値とは、ファイルの正当性をチェックする為に、そのファイルでしか出来ない値を作り出すもので、ダウンロードなどしたときにきちんと正しくできたか?をチェックする為に使われたりするものです。
 一バイトでも違ったら違うハッシュ値になるので正当性のチェックに使われたりします。
 しかし、CRC32は意図して同じ値を作ることが出来るので、最近はMD5やSHA-1などが使われますが、未だにCRC32も多いのは事実です。
 CRC32は、画像ファイルのPNG形式の内部でも使われていて、各ブロックごとに、そのブロックのCRC32値が格納されています。

 次に「ファイル名変更君」のヘルプとWEBページを修正していて、先日ここに書いたようにWEBページの軽量化をしようと思い、使っている画像を小さくしてサイズを減らそうとしました。
 とりあえずリネーム方式のところの画像だけにして、今までは実物大でGIF形式だったのですが、今度は80%の大きさにしました。
 当然画像サイズが小さくなるのでファイルサイズも小さくなるだろうと思ったら逆に大きくなってしまいました。hatena01.gif

 理由はよく解りませんが、ファイルサイズが大きくなったのでは面白くないので、ファイル形式を変えてみることにしました。
 そこで選んだのが先ほどもちょっと書いたPNG形式です。
 PNG形式でも元のものより少し大きくなるのですが、設定を少しいじり、色数を減らしたり、フィルタを無しにすると元のものより小さくなりました。

 今回は10枚変更し、全体で約20KBほど減り、新規で一枚追加したので合計約10KB減になりました。手(チョキ)
 これはヘルプファイルにも適用したので、実行ファイルのサイズは少し増えたのですが、ZIPファイルにするとほとんど同じになりました。

 この調子で他のページなども軽量化していきたいと思います。
ランキングへ  posted by 遠雷 at 01:35 | コメント(8) | パソコン・インターネット

2007年09月10日

消えるファイル!!!

 今日は「ファイル名変更君」に新リネーム方式の実装をしてました。

 ソフトの方は一応出来上がり、あとは細かい調整やテストをして完成にしたいと思います。
 その後、WEBページやヘルプを修正して一般公開です。ぴかぴか(新しい)

 昨日のハッシュ値がきちんと出力されなかった件は、これまた解ってしまえば単純なミスで、文字列の長さを入力するところで'\0'まで入れた長さにしていたせいでした。
 '\0'とはプログラム上の文字列の最後に付いているもので、これを目安に文字列の終わりを見るようになっています。
 メモリ上に'\0'が出てくると、それ以降の領域に文字があっても、それらは文字として読み込まれなくなります。

 次に、「データ管理君U」のパスワード・データ暗号化についてやりました。
 ここでファイルを保存するときに、パスワードの設定ダイアログを表示してパスワードの設定をするのですが、このダイアログに「キャンセル」ボタンを作り、このボタンが押されると何もしないで元に戻るようにしたのですが、上書き保存しようとしてキャンセルすると、なんとそのファイルが消えてしまいました。ga-n02.gif

 「名前を付けて保存」のときにこうなるのならいいのですが、上書きのときになると大変です。
 ちょうど実験用のファイルだったから良かったものの、大事なファイルだったら大変でした。あせあせ(飛び散る汗)
 次はこの現象を修正しなければ・・・。

 これとは違う現象ですが、プログラミングを始めた頃、何も書いてない基本のひな形だけの状態で、「名前を付けて保存」を選び、既存のファイルを選択し上書きするようにしたら、なんと内容が「0」のファイルになってしまい、そのファイルはダメになってしまいました。_| ̄|〇
 確かに保存する処理を書いていなかったのだから、「0」になるのはしょうがないのですが、始めたばかりだったのでよく解らず、どうなるか試してみるとこうなりました。

 他にもファイルをダメにすることはよくあり、画像ファイルが4Gを超えてしまったこともありました。
 だからテスト専用のファイルを用意して、いつもそれを使っています。
 しかし、それだけだと違うパターンのファイルのときダメだったということもありましたけど・・・。たらーっ(汗)

 こういうプログラミングをしていると、色々失敗することが多々あります。
 プログラムが暴走してフリーズするなんて事もしょっちゅうですからねー。ドコモポイント
ランキングへ  posted by 遠雷 at 01:24 | コメント(0) | パソコン・インターネット