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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2008, 19:23   #11
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
как воспользоваться этими компонентами?
Там везде приложены демки и хэлпы.
mihali4 вне форума Ответить с цитированием
Старый 04.12.2008, 19:30   #12
hacknet
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 177
По умолчанию

ну я реально пока в этом ни чего не понимаю...если Вам не сложно, то помогите??

Последний раз редактировалось hacknet; 04.12.2008 в 19:37.
hacknet вне форума Ответить с цитированием
Старый 06.03.2015, 15:06   #13
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Написал такой код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  zip : TZipForge;
begin
  zip := TZipForge.Create(nil);
  zip.UnicodeFilenames := True;
  zip.Zip64Mode := zmAuto;
  zip.CompressionLevel := clFastest;
  zip.FileName := 'D:\ZipForge.zip';
  zip.OpenArchive (fmCreate);
  zip.BaseDir := 'D:\Dir1\Dir2\Dir3\';
  zip.AddFiles('D:\Dir1\Dir2\Dir3\*.*');
  zip.CloseArchive;
  zip.Free;
  ShowMessage ('Done');
end;
Если свойство BaseDir оставить таким, какое оно в коде, то в архиве получаются только вложенные файлы и папки, без корневой папки Dir3.
Если же это свойство вообще оставить пустым, то в архиве получаются все папки Dir1\Dir2\Dir3.
Вопрос: Как сделать извлечение из этого пути, так сказать на одну папку вверх, чтобы BaseDir была D:\Dir1\Dir2\. Вручную то конечно можно с помощью Copy, Pos, Delete и цикла, но может есть что-то более удобное?
FaTaL вне форума Ответить с цитированием
Старый 07.03.2015, 11:47   #14
SLAUR
Пользователь
 
Регистрация: 16.10.2014
Сообщений: 51
По умолчанию

с помощью zipforge:
(имена файлов в list)
Код:
var list:tstringlist

Form2.ZipForge1.FileName:='c:\myarh.zip';
Form2.ZipForge1.OpenArchive(fmCreate);
for i1:=0 to list.Count-1 do
  begin
    Form2.ZipForge1.AddFiles(list[i1],faAnyFile,'');
  end;
Form2.ZipForge1.CloseArchive;
Опс уже опередили

Последний раз редактировалось SLAUR; 07.03.2015 в 11:52.
SLAUR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пароль на папку FEAR Помощь студентам 13 01.02.2010 07:53
Переиминовать папку Linch Общие вопросы Delphi 10 18.09.2008 15:56
как попроще заархивировать файл и создать сопроводительное письмо serna Софт 7 15.01.2008 11:20
определить папку мандарин Общие вопросы Delphi 5 13.05.2007 17:20
Как программно заархивировать файл в delphi? Alar Общие вопросы Delphi 0 29.10.2006 20:34