Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2009, 19:24   #1
VIR1435
Пользователь
 
Регистрация: 28.09.2009
Сообщений: 19
По умолчанию КАК програмно заархивировать папку с под коталогами

КАК програмно заархивировать папку с под коталогами
Скажите кто знает как программно заархивировать папку с подкоталогами на Delphi 7.
заранее спасибо
VIR1435 вне форума Ответить с цитированием
Старый 28.09.2009, 19:36   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

http://www.programmersforum.ru/showthread.php?t=31075
Hollander вне форума Ответить с цитированием
Старый 28.09.2009, 20:31   #3
VIR1435
Пользователь
 
Регистрация: 28.09.2009
Сообщений: 19
По умолчанию

Я конечно нашел как зделать архив но суть такова что без винрара не прет. ( мне такое решение не подходит )
кому требуется такое решение вот читайте:
WinRar должен присутствовать на компе.

Код:
//где объявляются переменные формы
var
sFileNameRar,sPathWinRAR,sPathRar, s:String;
sFileName,sRarPsw:String;

//это для обработчика кнопки
var
si : Tstartupinfo;
p : Tprocessinformation;
begin
sRarPsw:='PASSWORD'; //пароль для архива
sFileName:='TextOut.txt'; //имя архивируемого файла
sPathWinRAR := 'e:\Program Files\WinRAR\winRAR.exe';//где находиться WinRar.exe
sFileNameRar:='TextOut'; //имя архива без .rar
sPathRar:='e:\Archiv\'; //куда писать архивный файл

FillChar( Si, SizeOf( Si ) , 0 );
with Si do
begin
cb := SizeOf( Si);
dwFlags := startf_UseShowWindow;
wShowWindow := 4;
end;
s:=sPathWinRAR+' a -ep1 -hp'+sRarPsw+' '+sPathRar+sFileNameRar+' '+sPathRar+sFileName;
Createprocess(nil,PChar(s),nil,nil,false,Create_default_error_mode,nil,nil,si,p);//запускаем процесс архивировангия
Waitforsingleobject(p.hProcess,infinite); //и ждем его окончания
sFileName:='TextOut.rar'; //имя архивного файла
end;

Последний раз редактировалось VIR1435; 29.09.2009 в 11:51.
VIR1435 вне форума Ответить с цитированием
Старый 28.09.2009, 20:43   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

VIR1435, ага, заархивировать без архиватора хотите?! и в какой архив, если не секрет, конечно?

p.s. есть компоненты под Delphi, которые позволяют паковать в ZIP
для остальных широкоизвестных архивов потребуется наличие архиватора (или нужных библиотек от него)
Кстати, Winrar не обязательно должен быть установлен.
Достаточно иметь rar.exe в папке с программой. а ещё его можно переименовать (например, в dll.bmp - чтобы никто не догадался )
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.09.2009, 21:29   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в принципе если организовать структуру то можно и через zlib сделать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заархивировать папку hacknet Общие вопросы Delphi 13 07.03.2015 11:47
как называются кнопки(програмно)? blackstersl Общие вопросы Delphi 5 03.05.2009 16:40
КАК ПРОГРАМНО КЛИКНУТЬ ПО ССЫЛКЕ? AquaKlaster Работа с сетью в Delphi 3 01.05.2009 21:31
как попроще заархивировать файл и создать сопроводительное письмо serna Софт 7 15.01.2008 11:20
Как программно заархивировать файл в delphi? Alar Общие вопросы Delphi 0 29.10.2006 20:34