Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Архивирование в zip или rar Добавлено: 11.03.06 15:28  

Автор вопроса:  Programmer
Мне нужно программно архивировать файлы. Подскажите как. Только если надо какой ActiveX, то напишите на него ссылку.
Заранее благодарен.

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #1 Добавлено: 11.03.06 15:55
Ищи vbzip10.dll и vbuzip10.dll
Ссылку сам поищи в гугле.

Ответить

Номер ответа: 2
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #2 Добавлено: 11.03.06 18:28
PKZIP,PKUNZIP,WINRAR-параметры компндной строки есть в хелпе

Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 12.03.06 01:44
Attribute VB_Name = "ArhiveFile"
'===========================================================|
' <МОДУЛЬ ДЛЯ C RARom, КОТОРЫЙ УСТАНОВЛЕН В СИСТЕМЕ.       >|
'                                                           |
' = = = = = = = M A D E   B Y   H A C K E R = = = = = =     |
'         icq: 334479038, mail: visualbasic@xaker.ru        |
'===========================================================|

'Нужны функции работы с реестром (модуль reg.bas)
'Поддерживает только WinRar, степень сжатия - максимальная
'Возможность установить на архив пароль


Public Sub ArhiveToWinRar(file$, Password$, RarFile$)
'Находим в компе архиватор
Arhive$ = RegGetValue(HKEY_CLASSES_ROOT, ".rar\ShellNew", "FileName";)
If Arhive$ <> "" Then ' Если есть на компе архиватор...
Arhive$ = Left(Arhive$, Len(Arhive$) - Len(Spliting(Arhive$, "\";))) 'берём его путь
'Смотрим какой архиватор...
    If InStr(1, LCase(Arhive$), "winrar", vbTextCompare) > 0 Then 'Если WinRar
        'Формируем коммандную строку для архивации
        If RarFile$ = "" Then RarFile$ = Replace(file$, Spliting(file$, ".";), "rar";)
        Arhive$ = Chr(34) & Arhive$ & "Rar.exe" & Chr(34) & " a -m5 -inul -ep -ep1 -idp -p" & Password$ & " " & Chr(34) & RarFile$ & Chr(34) & " " & Chr(34) & file$ & Chr(34)
    End If
End If

Shell Arhive$, vbHide
End Sub

Public Sub ExtractWinRar(RarFile$, Password$, sDir$)
'Находим в компе архиватор
Arhive$ = RegGetValue(HKEY_CLASSES_ROOT, ".rar\ShellNew", "FileName";)
If Arhive$ <> "" Then ' Если есть на компе архиватор...
Arhive$ = Left(Arhive$, Len(Arhive$) - Len(Spliting(Arhive$, "\";))) 'берём его путь
'Смотрим какой архиватор...
    If InStr(1, LCase(Arhive$), "winrar", vbTextCompare) > 0 Then 'Если WinRar
        'Формируем коммандную строку для разархивации
        If RarFile$ = "" Then RarFile$ = Replace(file$, Spliting(file$, ".";), "rar";)
        If Password$ = "" Then
            Arhive$ = Chr(34) & Arhive$ & "unrar.exe" & Chr(34) & " e -idb -o+ -y" & " " & Chr(34) & RarFile$ & Chr(34) & " " & Chr(34) & sDir$ & Chr(34)
        Else
            Arhive$ = Chr(34) & Arhive$ & "unrar.exe" & Chr(34) & " e -idb -o+ -y -p" & Password & " " & Chr(34) & RarFile$ & Chr(34) & " " & Chr(34) & sDir$ & Chr(34)
        End If
        
    End If
End If
Shell Arhive$, vbHide
End Sub

Ответить

Номер ответа: 4
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #4 Добавлено: 13.03.06 10:45
Угум, посты 2 и 3 особенно рулят если на компе нет архиватора.
Я, к примеру, в последнее время пользовался DartZip.dll (ActiveX). Главное преимущество - упаковывает/распаковывает не только на диск, но и в память (удобно для сетевого приложения).
Кроме того, в отличие от левых exe - дает протокол процесса по событиям ;)
Ссылку писали уже не раз - www.Google.ru, таблетка там же :)

Ответить

Номер ответа: 5
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #5
Добавлено: 13.03.06 18:37
:) а я вот привяызался к apLib... медленно но сжатие неплохое :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам