ZIPファイルを開く処理
では、最初にZIPファイル「images.zip」を開く処理を作成します。処理は、すべてButtonコントロールのClickイベントハンドラで行います。ZIPファイルの指定は、「ファイルを開くダイアログボックス」を使用します。
まず、「System.IO」「C1.C1Zip」の2つの名前空間への参照を設定します。そして、「ファイルを開くダイアログボックス」を表示し、ZIPファイルのファイル名を取得します。取得したファイル名はLabelコントロールで表示します。
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
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プロパティを調べると、圧縮されているファイル数が把握できるので、これを確認します。もし、何も格納されていなければ、ここで処理を中止します。
'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
//ZIPファイルを開く
C1ZipFile zip = new C1ZipFile();
zip.Open(fname);
//ZIP内のファイル数の確認
int cnt = zip.Entries.Count;
if( cnt == 0)
{
MessageBox.Show("読み込むファイルがありません");
return;
}
