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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2023, 22:37   #11
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию

При запуске такого кода, из архива извлекаются все файлы-тёзки нужного файла находящиеся в под-папках

А как сделать так, чтобы извлекался только один нужный файл?
Код:
Function ZipOut(const ZipFile, File_s, DirectoryOut: string; const Password:string=''):boolean;
var
  Zip: TZipForge;
begin
    try
      Zip:=TZipForge.Create(nil);
      Zip.FileName:=ZipFile;
      Zip.Password:=Password;
      Result:=ZipOpenRead(Zip);
      If Result then begin
        try
          Zip.BaseDir:=DirectoryOut;
          Zip.ExtractFiles(File_s);
        finally
          Zip.CloseArchive;
        end;
      End;
    except
      Result:=false;
    end;
    Zip.Free;
end;
Kronos913 вне форума Ответить с цитированием
Старый 09.10.2023, 05:10   #12
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Чтобы извлекся только файл из корневого каталога нашел только такой вариант:
Код:
Zip.Options.Recurse := False;
Zip.ExtractFiles(File_s);
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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