Страница: 1 |
Страница: 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
'===========================================================|
' <МОДУЛЬ ДЛЯ 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-сайт:
Профиль | | #5
Добавлено: 13.03.06 18:37
а я вот привяызался к apLib... медленно но сжатие неплохое