All pastes #1348590 Raw Edit

Unnamed

public text v1 · immutable
#1348590 ·published 2009-02-27 08:08 UTC
rendered paste body
Imports RARNET
Public Class Form1
    Dim d As Decompressor
    Dim m_dll As String = Application.StartupPath & "\unrar.dll"
    Dim rars As String
    Private Sub Form1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragEnter
        If e.Data.GetDataPresent(DataFormats.FileDrop) Then e.Effect = DragDropEffects.All
    End Sub

    Private Sub Form1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragDrop
        Dim dir() As String
        If e.Data.GetDataPresent(DataFormats.FileDrop) Then
            dir = DirectCast(e.Data.GetData(DataFormats.FileDrop), String())
            ListBox1.Items.AddRange(dir)
        End If


        For i = 0 To ListBox1.Items.Count
            list(ListBox1.Items(i).ToString)

        Next

    End Sub


    ' This is a function to get all the files in a directory. This will get the files
    ' in all subdirectories of the parent folder
    Private Sub list(ByRef strDirectory As String)
        Dim di As New IO.DirectoryInfo(strDirectory)
        Dim diar1 As IO.FileInfo() = di.GetFiles()
        Dim dra As IO.FileInfo

        'list the names of all files in the specified directory
        For Each dra In diar1
            ListBox1.Items.Add(strDirectory & "\" & dra.ToString)
            If dra.ToString.Contains(".rar") Or dra.ToString.Contains(".zip") Then
                'MsgBox(dra.ToString)
                unrar(strDirectory & "\" & dra.ToString)
            End If
        Next
    End Sub

    Public Sub Unpacked(ByVal r As Decompressor.RAREntry)
        StatusBar1.Panels.Item(0).Text = r.FileName & " Unpacked"
    End Sub

    Private Sub unrar(ByVal szFile As String)
        d = New Decompressor(szFile)

        AddHandler d.OnUnpack, AddressOf Unpacked
        'AddHandler d.Unpacking, AddressOf InProgress
        For Each r As Decompressor.RAREntry In d.RARFiles
            Dim lvitem As New ListViewItem(r.FileName)
            ' Place a check mark next to the item.
            lvitem.SubItems.Add(r.FileAttr)
            lvitem.SubItems.Add(r.PackSize)
            lvitem.SubItems.Add(r.UnpSize)
            lvitem.SubItems.Add(r.FileCRC)
            Lv.Items.Add(lvitem)
        Next
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If System.IO.File.Exists(m_dll) Then
        Else
            MsgBox(m_dll & " cannot be found.")
            Application.Exit()
        End If
        Lv.View = View.Details
        Lv.GridLines = True
        ' Create some columns 
        Lv.Columns.Add("File", 200, HorizontalAlignment.Left)
        Lv.Columns.Add("Attr", 30, HorizontalAlignment.Left)
        Lv.Columns.Add("Packed Size", 100, HorizontalAlignment.Left)
        Lv.Columns.Add("Unpacked Size", 100, HorizontalAlignment.Center)
        Lv.Columns.Add("CRC", 120, HorizontalAlignment.Center)
    End Sub

End Class