Translha.ocx の使用例です

Homeへ戻る

以下の例は、本OCXをTransLha1という名前でフォームに貼り付けて使用します。

1.ファイルの圧縮

2.書庫ファイルの解凍(すべてのファイル)

3.書庫内の一部のファイルの解凍

4.自己解凍書庫の作成

5.書庫ファイルをOpenして内容を調べる

 

img/cyn_m.gif (929 バイト) 1.ファイルの圧縮

c:\test\ というフォルダーに
    aaa.txt (ファイル)
    bbb.exe (ファイル)
    xxx (フォルダ)
があるとしたとき、これらを(xxxの下のファイルを含めて)c:\work\pack.lzh という書庫ファイルに圧縮する例。

Private Sub PackProcedure()
    With TransLha1                             '貼り付けたコントロールの名前。
        .ArcMode = 0                            'LHA モードで動作します。
        .hWnd = Me.hWnd                       'hWnd を指定する。
        .pArcFileName = "c:\work\pack.lzh"     '書庫ファイル名を指定。
        .pBaseFolder = "c:\test"             '基準フォルダを指定。
        .pFilesClear                               '圧縮ファイル名リストをクリアする。
        .pAddFile "aaa.txt"                     'ファイルを指定
        .pAddFile "bbb.exe"                    'ファイルを指定
        .pAddFile "xxx"                          'フォルダを指定
        .Pack                                       '圧縮の実行
        If .Error <> 0 Then                     'エラーチェック
            MsgBox (.ErrorString)             'エラー表示
        End If
    EndWith
End Sub

TOPへ戻る

img/cyn_m.gif (929 バイト) 2.書庫ファイルの解凍

c:\work\pack.lzh を c:\test フォルダーにすべてを解凍する例

Private Sub ExtractProcedure()
    With TransLha1
        .ArcMode = 0                             'LHA モードで動作します。
        .hWnd = Me.hWnd                        'hWnd を指定する。
        .eArcFileName = "c:\work\pack.lzh" '書庫ファイル名を指定。
        .eFolder = "c:\test"                    '解凍先フォルダを指定。
        .eFilesClear                               '解凍ファイル名リストをクリアする。
        .Extract                                    '解凍を実行
        If .Error <> 0 Then                      'エラーチェック
            MsgBox (.ErrorString)              'エラー表示
        End If
    End With
End Sub

TOPへ戻る

img/cyn_m.gif (929 バイト) 3.書庫内の一部のファイルの解凍


c:\work\pack.lzh に格納されている
    aaa.txt
    bbb.exe
のみを c:\test フォルダーに解凍する例

Private Sub ExtractProcedure2()
    With TransLha1
        .ArcMode = 0                          'LHA モードで動作します。
        .hWnd = Me.hWnd                    'hWnd を指定する。
        .eArcFileName = "c:\work\pack.lzh" '書庫ファイル名を指定。
        .eFolder = "c:\test"                 '解凍先フォルダを指定。
        .eFilesClear                            '解凍ファイル名リストをクリアする。
        .eAddFile "aaa.txt"
        .eAddFile "bbb.exe"
        .Extract                                 '解凍を実行
        If .Error <> 0 Then                   'エラーチェック
            MsgBox (.ErrorString)           'エラー表示
        End If
    End With
End Sub

TOPへ戻る

img/cyn_m.gif (929 バイト) 4.自己解凍書庫の作成

c:\work\pack.lzh から自己解凍ファイルを作成し、
c:\testフォルダーに保存する例。

Private Sub MakeSFX()
    With TransLha1
        .ArcMode = 0                                  'LHA モードで動作します。
        .hWnd = Me.hWnd                            'hWnd を指定する。
        .sfxArcFileName = "c:\work\pack.lzh" '書庫ファイル名を指定。
        .sfxFolder = "c:\test"                       '作成先フォルダを指定。
        .SFX                                             '自己解凍ファイル作成実行
        If .Error <> 0 Then                           'エラーチェック
            MsgBox (.ErrorString)                   'エラー表示
        End If
    End With
End Sub

TOPへ戻る

img/cyn_m.gif (929 バイト) 5.書庫ファイルをOpenして内容を調べる。

c:\work\pack.lzh に格納されているファイル名とオリジナルファイル
サイズをすべてリストボックスへ列記する例
List1 と List2 をフォームに貼り付けておきます。

Private Sub ArcOpen()
Dim i As Integer
    With TransLha1
        .ArcMode = 0                                 'LHA モードで動作します。
        .oArcFileName = "c:\work\pack.lzh"    '書庫ファイル名を指定。
        .OpenFile                                      '書庫ファイルをOpen
        If .Error = 0 Then                           'エラーが無かったら
                                          'oFilesCountは、圧縮されているファイル総数
            For i = 0 To .oFilesCount - 1
                List1.AddItem .oFilesList(i)       'ファイル名列記
                List2.AddItem .oOrgSize(i)        'サイズ列記
            Next i
        Else
            MsgBox (.ErrorString)                  'エラー表示
        End If
    End With
End Sub

TOPへ戻る

 

Homeへ戻る