![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создания архива [D6, D7]
IgorM © (2005-08-29 10:50:00)Если можно то подробно опишите как создать архив! Например, есть папка c:\program\data - ее надо заархивировать в c:\program\arhiv\data.rar ! если можно, то без дополнительных компонент!
Brother (2005-09-07 08:44:00) [1]1.А консольный Rar не подойдет? Загоняй в CommandLine че хочешь во проблемма!
2. Поищи описания процедур в инете к UnRar.dll я где-то видел.
IgorM (2005-08-29 11:56:00) [2]И на том спасибо! Попробую разобраться!
dmitry501 (2005-08-29 11:43:00) [3]Вот, правда для 7z. Надеюсь для rar сам переделаешь.
function ArcFile(Path: string; FileName: string; const Extension: string):Boolean;
var
PMSI: StartupInfo;
PMPI: Process_Information;
FileNameArc: string;
cmdLine: string;
CurrPath: string;
begin
Result := True;
CurrPath := GetCurrentDir();
ChDir(Path7z);
ZeroMemory(@PMSI, sizeof(PMSI));
PMSI.cb := SizeOf(PMSI);
PMSI.dwFlags := STARTF_USESHOWWINDOW;
PMSI.wShowWindow := SW_NORMAL;
// PMSI.wShowWindow := SW_HIDE;
ChDir(Path);
FileNameArc := ChangeFileExt(FileName, Extension);
cmdLine := Path7z + '7za.exe a ' + FileNameArc + ' ' +FileName + ' -y';
if not CreateProcess(nil, PChar(cmdLine), nil, nil, False,
NORMAL_PRIORITY_CLASS,
nil, nil, PMSI, PMPI) then
begin
result := False;
Log := 'Не могу запустить ' + Path7z + '7za.exe';
end
else
begin
if WaitForSingleObject(PMPI.hProcess, 10000) = WAIT_OBJECT_0 then
else
begin
result := False;
Log := 'Таймаут архиватора ' + Path7z + '7za.exe';
end;
end;
CloseHandle(PMPI.hProcess);
CloseHandle(PMPI.hThread);
ChDir(CurrPath);
end;
p.s.
Вырвал из программы ничего не исправляя, так что ....
IgorM (2005-08-29 11:32:00) [4]Я смотрел! конкретно ничего ненашел! Был один пример архивирования но оно даже показало процес архивирования а архив не делало! Так что пожалуйста помоги если конечно очень не впадло!
dmitry501 (2005-08-29 11:28:00) [5]IgorM © (29.08.05 11:17) [5]
Я-то могу. А тебе в многочисленные FAQ лень глядеть? Вот и мне лень копи-пасте делать...
IgorM (2005-08-29 11:27:00) [6]> Anatoly Podgoretsky Непонял, что ты имел ввиду!
Anatoly Podgoretsky (2005-08-29 11:24:00) [7]IgorM © (29.08.05 11:02) [2]
Компоненты для архивирования отсутствуют, формат закрытый.
IgorM (2005-08-29 11:17:00) [8]> dmitry501
Вот раром мне и надо! Приведи код - если можеж !
> Юрий Зотов но ведь можно как то через shellexecute!
Юрий Зотов (2005-08-29 11:10:00) [9]> IgorM © (29.08.05 10:50)
Есть компоненты, пакующие в ZIP, их легко можно найти в Сети. Если без компонентов, то в Delphi есть модуль ZLib, но формат архива не будет совместим с zip, rar и пр.
dmitry501 (2005-08-29 11:04:00) [10]Никак. Только раром. Его можно вызвать из Delphi
IgorM (2005-08-29 11:02:00) [11]Надо в делфи!
Leonid Troyanovsky (2005-08-29 10:58:00) [12]
> IgorM © (29.08.05 10:50)
> Если можно то подробно опишите как создать архив! Например,
> есть папка c:\program\data - ее надо заархивировать в c:\program\arhiv\data.rar
> ! если можно, то без дополнительных компонент!
Можно даже без дельфи: rar /?
--
Regards, LVT.