SHOEISHA iD

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

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

ComponentZine(ComponentOne)

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

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

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

ZIPファイルを開く処理

 では、最初にZIPファイル「images.zip」を開く処理を作成します。処理は、すべてButtonコントロールのClickイベントハンドラで行います。ZIPファイルの指定は、「ファイルを開くダイアログボックス」を使用します。

 まず、「System.IO」「C1.C1Zip」の2つの名前空間への参照を設定します。そして、「ファイルを開くダイアログボックス」を表示し、ZIPファイルのファイル名を取得します。取得したファイル名はLabelコントロールで表示します。

Visual Basic
Imports System.IO
Imports C1.C1Zip

Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim w, h, i As Integer
        Dim fname As String

        Dim ret As DialogResult = OpenFileDialog1.ShowDialog()
        If ret = DialogResult.Cancel Then
            MessageBox.Show("キャンセルボタンが押されました。" & Chr(13) & _
                            "操作をキャンセルします", "操作の中止", _
                            MessageBoxButtons.OK, MessageBoxIcon.Stop)
            Exit Sub
        Else
            fname = OpenFileDialog1.FileName
            Label1.Text = fname
        End If
C#
using System.IO;
using C1.C1Zip;

namespace myzip_cs
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int w, h, i;
            string fname;

            DialogResult ret= openFileDialog1.ShowDialog();
            if(ret == DialogResult.Cancel)
            {
                ret = MessageBox.Show("キャンセルボタンが押されました。" + "\r\n" +
                                      "処理を終了します", "操作の中止", 
                                      MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }else
            {
                fname = openFileDialog1.FileName;
                label1.Text = fname;
            }

 取得したファイル名を使ってZIPファイルを開きます。まず、C1ZipFileクラスのインスタンスを作成します。そして、Openメソッドを使ってZIPファイルを開きます。

 ファイルを開いたら、Entriesプロパティで現在開いているZIPファイル内のエントリのコレクションクラス「C1ZipEntryCollection」を取得します。このコレクションには、ZIPファイル内に圧縮されているファイルの情報が「C1ZipEntryオブジェクト」として格納されています。

 また、コレクションのCountプロパティを調べると、圧縮されているファイル数が把握できるので、これを確認します。もし、何も格納されていなければ、ここで処理を中止します。

Visual Basic
'ZIPファイルを開く
 Dim zip As New C1ZipFile()
 zip.Open(fname)

 'ZIP内のファイル数の確認
 Dim cnt As Integer = zip.Entries.Count
 If cnt = 0 Then
     MessageBox.Show("読み込むファイルがありません")
     Exit Sub
 End If
C#
//ZIPファイルを開く
C1ZipFile zip = new C1ZipFile();
zip.Open(fname);
//ZIP内のファイル数の確認
int cnt = zip.Entries.Count;
if( cnt == 0)
{
    MessageBox.Show("読み込むファイルがありません");
    return;
}

次のページ
画像ファイルを取り出しPictureBoxで表示する処理

修正履歴

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

  • このエントリーをはてなブックマークに追加
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」など、さまざまなカンファレンスを企画・運営しています。

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

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

メールバックナンバー

アクセスランキング

アクセスランキング