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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2019, 22:36   #1
Alex711
Пользователь
 
Регистрация: 21.09.2018
Сообщений: 99
По умолчанию ZipForge

Здравствуйте, добавляю в zip файлы и папки

Код:
ZipForge1.FileName := (Edit1.Text+'.zip'); 
  ZipForge1.OpenArchive(fmCreate); 
  ZipForge1.BaseDir := '\'; //
  ZipForge1.AddFiles(Edit1.Text+'\events\*.*'); 
  ZipForge1.AddFiles(Edit1.Text+'\backup\*.*'); 
  ZipForge1.AddFiles(Edit1.Text+'\photo\*.*'); 
  ZipForge1.AddFiles(Edit1.Text+'\config.mdb'); 
  ZipForge1.CloseArchive();
В Edit1.Text имя папки в которой лежат 3 папки events, backup, photo и один файл config.mdb
Только в упакованном архиве оказывается одна папка, имя которой прописано в Edit1.Text, а уже в ней 3 папки events, backup, photo и один файл config.mdb
Как сделать, чтобы 3 папки events, backup, photo и один файл config.mdb были сразу в архиве, а не сначала в этой (Edit1.Text) одной папке?
Alex711 вне форума Ответить с цитированием
Старый 12.03.2019, 05:57   #2
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

На 7z это делается так
Код:
procedure TFormMain.Button1Click(Sender: TObject);
var
  SevenZip: TSevenZip;
begin
  try
    SevenZip := TSevenZip.Create(nil);
    try
      SevenZip.AddOptions := [AddRecurseDirs];
      SevenZip.AddRootDir := ExtractFilePath(Application.ExeName) + '\'; // C:\Test\
      SevenZip.LZMACompressStrength := SAVE;
      SevenZip.SZFileName := ExtractFilePath(Application.ExeName) + '\test.7z'; // C:\Test\test.7z
      SevenZip.Files.Clear;
      SevenZip.Files.AddString(ExtractFilePath(Application.ExeName) + '\1\*.*'); // C:\Test\*.* или C:\Test\file.txt
      SevenZip.Files.AddString(ExtractFilePath(Application.ExeName) + '\2\*.*'); // C:\Test\*.* или C:\Test\file.txt
      SevenZip.Files.AddString(ExtractFilePath(Application.ExeName) + '\3\*.*'); // C:\Test\*.* или C:\Test\file.txt
      SevenZip.Add;
    except
    end;
  finally
    FreeAndNil(SevenZip);
  end;
end;
Shouldercannon вне форума Ответить с цитированием
Старый 12.03.2019, 06:26   #3
Alex711
Пользователь
 
Регистрация: 21.09.2018
Сообщений: 99
По умолчанию

Разобрался, сделал так:
Код:
ZipForge1.FileName := (Edit1.Text+'.zip'); 
  ZipForge1.OpenArchive(fmCreate); 
  ZipForge1.BaseDir := Edit1.Text; 
  ZipForge1.AddFiles('\events\*.*'); 
  ZipForge1.AddFiles('\backup\*.*'); 
  ZipForge1.AddFiles('\photo\*.*'); 
  ZipForge1.AddFiles('\config.mdb');
  ZipForge1.CloseArchive();
Спасибо за ответы.
Alex711 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по ZipForge rzawm Помощь студентам 21 20.03.2015 11:55
ZipForge brain22 Общие вопросы Delphi 1 28.04.2012 18:23
имя файла запакованного ZipForge brain22 Компоненты Delphi 2 27.04.2012 23:26
ZipForge lezgin Компоненты Delphi 2 03.04.2012 09:11
ZipForge Добавление файлов в подкаталог phphel Общие вопросы Delphi 2 29.04.2011 18:07