powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TZipFile, архивировать с паролем можно, но как разархивировать с паролем
10 сообщений из 10, страница 1 из 1
TZipFile, архивировать с паролем можно, но как разархивировать с паролем
    #39751774
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток форумчане
Скачав модуль « EncryptedZipFile » от сюда , можно архивировать с паролем
Например с паролем «1»:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
var
  ef: TEncryptedZipFile;
begin
  try
    ef := TEncryptedZipFile.Create('1');
    try
      ef.Open('d:\test.zip', zmWrite);
      ef.Add('d:\test.bin', 'd:\test.bin', zcDeflate);
    finally
      ef.Free;
    end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end;



а вот разархивировать с помощью этого модуля никто не пробовал?
...
Рейтинг: 0 / 0
TZipFile, архивировать с паролем можно, но как разархивировать с паролем
    #39751775
Гирлионайльдо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
TZipFile, архивировать с паролем можно, но как разархивировать с паролем
    #39751783
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гирлионайльдо,

Да, я это видел, но честно говоря не совсем понял, каким образом " AInStream " можно сделать " decrypt "?
...
Рейтинг: 0 / 0
TZipFile, архивировать с паролем можно, но как разархивировать с паролем
    #39751792
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010,

разархивировать также, как и с обычным TZipFile, только использовать класс TEncryptedZipFile, конструктор вызывать с параметром "пароль".

Код: pascal
1.
2.
3.
4.
5.
6.
7.
myZipFile := TEncryptedZipFile.Create('1');
try
  myZipFile.ExtractAll('');
  myZipFile.Close;
finally
  myZipFile.Free;
end;
...
Рейтинг: 0 / 0
TZipFile, архивировать с паролем можно, но как разархивировать с паролем
    #39751793
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фэйтл Эра,

да действительно, только в вашем коде нужно добавить еще строку например
Код: pascal
1.
myZipFile.Open('d:\test.zip', zmRead);


а то файл, неизвестно какой.

моя ошибка была в том, что я использовал процедуру "Extract", вместо "ExtractAll", т.к. мне нужно разархивировать только конкретный файл из архива

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
ef := TEncryptedZipFile.Create('1');
    try
      ef.Open('d:\test.zip', zmRead);
      ef.Extract('test.bin', 'd:\', true);
      ef.Close;
    finally
      ef.Free;
    end;
...
Рейтинг: 0 / 0
TZipFile, архивировать с паролем можно, но как разархивировать с паролем
    #39751794
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то и " ExtractAll " - написано что извлекает все файлы из архива

но у меня архив " test.zip " и в нем 2 файла " test.bin " и " test1.bin ".
А извлекает он всего лишь один файл " test.bin "
...
Рейтинг: 0 / 0
TZipFile, архивировать с паролем можно, но как разархивировать с паролем
    #39751795
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разобрался
"ExtractAll" - разархивирует все файлы из архива тогда, когда непосредственно указываешь путь, например
Код: pascal
1.
myZipFile.ExtractAll('d:\');



осталось выяснить, как вынуть конкретный файл из архива?...
...
Рейтинг: 0 / 0
TZipFile, архивировать с паролем можно, но как разархивировать с паролем
    #39751810
Гирлионайльдо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010осталось выяснить, как вынуть конкретный файл из архива?...

Extract не достаточно? Щолё
...
Рейтинг: 0 / 0
TZipFile, архивировать с паролем можно, но как разархивировать с паролем
    #39751889
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гирлионайльдо
Extract не достаточно? Щолё
достаточно, но только на половину, как я писал (чуть изменил), есть архив "test.zip" и в нем 2 файла "test1.bin" и "test2.bin".
код
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
var
  myZipFile: TEncryptedZipFile;
begin
  myZipFile := TEncryptedZipFile.Create('1');
  try
    myZipFile.Open('d:\test.zip', zmRead);
    myZipFile.Extract('test1.bin', 'd:\', true);
    myZipFile.Close;
  finally
    myZipFile.Free;
  end;
end;



достает из архива ' test1.bin '.
но когда в него подставляешь ' test2.bin ', то ошибка:

exception class EZipException with message 'The specified file was not found'.

файл не найден, хотя он в архиве есть
...
Рейтинг: 0 / 0
TZipFile, архивировать с паролем можно, но как разархивировать с паролем
    #39751903
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все разобрался:
забыл строку
Код: pascal
1.
myZipFile.OnCreateDecompressStream := OnCreateDecompressStream;


после
Код: pascal
1.
myZipFile := TEncryptedZipFile.Create('1')



Спасибо всем откликнувшимся.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TZipFile, архивировать с паролем можно, но как разархивировать с паролем
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]