SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ComponentOne)

ZIPファイル内の画像を表示する.NET アプリケーションの作成

ComponentOne Studio 2010JのC1Zipコントロールを使ったZIP形式ファイルから画像を表示するアプリケーションの作成

  • このエントリーをはてなブックマークに追加

C1Zipコントロールについて

 C1Zipコントロールは、ZIP形式のファイル圧縮・展開機能を提供するコントロールです。ZIPファイルの作成、圧縮ファイルの解凍と一部ファイルの取出し、圧縮ファイルの追加・管理などの操作を行うことができます。また、操作対象はファイルだけでなく、フォルダごとの圧縮・解凍を行うことができます。

 さらに、ZIPファイルの操作はディスクに対してだけでなく、メモリやネットワークなど「ストリーム」に対して行うことができます。配列変数で直接処理を行うことができるので、データをいちいちディスクに落とす必要がなく、その分高速な処理を行うことができます。

 C1Zipコントロールでの処理は、次の3種類のクラスを使って行われます。

クラス 説明
C1ZipFile/C1ZipEntry/C1ZipEntryCollection ZIPファイルを作成する/開く/管理する操作を行うクラス
C1ZStreamReader/C1ZStreamWriter .NETストリーム(メモリ、ファイル、ネットワークの各ストリームなど)でのデータの圧縮/展開を行うクラス
ZStream ZlibのC#実装を行うクラス

 C1ZStreamReaderとC1ZStreamWriterクラスは、ZIPファイル内のデータはもちろん、あらゆる.NETストリーム上でデータ圧縮・解凍を行うクラスです。

 通常のストリームに付加することで、これらのクラスを介してデータの読み取りと書き込みを行います。従って、例えばADO.NETでデータベースのテーブルデータをそのまま読み込んで直接圧縮したり、ZIPファイルの中の圧縮ファイルを取り出して直接コントロールで表示したり、といった操作が可能になります。

ZIPファイルから画像ファイルを読み込むアプリケーションの作成

 では、さっそくこのC1Zipコントロールを使ったアプリケーションを作成しましょう。今回作成するアプリケーションは、次のような機能を持ちます。操作対象のZIPファイルは、画像ファイルだけを格納しているZIPファイルです。

  1. 画像ファイル(JPEGファイル)を4つ圧縮したZIPファイル「images.zip」を開き、JPEGファイルを1つずつストリームに読み出す
  2. 読み出したJPEGファイルをPictureBoxコントロールでフォームに表示する
  3. そのファイル名をLabelコントロールでPictureBoxコントロールの下に表示する
  4. 画像ファイル以外のファイルを格納しているZIPファイルを指定した場合は、処理を中止する

 なお、PictureBox・Labelコントロールはコードから作成します。

GUIのデザイン

 デザイン時に作成するフォームと、実行時のフォームのレイアウトは次のようになります。

デザイン時に作成するフォーム
デザイン時に作成するフォーム
実行時のフォームのレイアウト
実行時のフォームのレイアウト

 デザイン時の各コントロールのプロパティは、次のように設定します。

オブジェクト プロパティ 設定値
Form1 Text ZIPファイルから画像ファイルを読み込むアプリケーション
Button1 Text 画像の取り出し...
Label1 Text ""
Border Fixed3D
Panel1 Border Fixed3D
Dock Top
Panel2 Border Fixed3D
Dock Fill
OpenFileDialog1 FileName *.zip
Filter *.zip|*.zip
images.zipの中身
images.zipの中身

次のページ
ZIPファイルを開く処理

修正履歴

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5266 2010/07/06 15:48

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング