Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.68/34: Рейтинг темы: голосов - 34, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 57

Работа с архивами Delphi

21.01.2016, 15:12. Показов 7559. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте.
Кто знает как работать с любыми архивами Delphi.
Такие как Zip, Rar и 7z
Интересует не только создания и распаковка этих архивов но и показ процесса распаковки.
Помогите пожалуйста!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.01.2016, 15:12
Ответы с готовыми решениями:

Delphi работа с архивами
Всем привет есть архив в arj в нем куча файлов dbf хотелось бы реализовать следующие: 1. загрузку архива 2. вывод таблиц из...

Работа с zip архивами
Привет всем........скажите каким образом можно Распаковать архив в поток, знаю что для этого необходимо установить компонент для работы с...

TZipFile в Delphi. Ошибка при работе с архивами "Архив поврежден"
Добрый день! Использование RAR из под delphi xe5 Интересует тема по работе с zip, rar файлами из под delphi. Ранее использовал родной...

26
6003 / 4578 / 1096
Регистрация: 29.08.2013
Сообщений: 28,270
Записей в блоге: 3
21.01.2016, 17:15
Студворк — интернет-сервис помощи студентам
ну какой же вы ленивый
Вложения
Тип файла: zip SevenZip.zip (9.8 Кб, 43 просмотров)
0
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 57
21.01.2016, 17:25  [ТС]
Delphi
1
2
3
4
5
with CreateInArchive(CLSID_CFormat7z) do begin
    OpenFile('Crack.7z');
    SetProgressCallback(nil, ProgressCallback);
    ExtractTo('1\');
  end;
Все работает. Но есть еще 1 просьба по усовершенствованию
Delphi
1
2
3
4
5
6
7
8
function ProgressCallback(sender: Pointer; total: boolean; value: int64): HRESULT; stdcall;
 begin
   if total then
     form1.ProgressBar1.Max := value else
     form1.ProgressBar1.Position := value;
   Result := S_OK;
   //Form1.Label1.Caption:=IntToStr(value)+' %';
 end;
Необходимо чтобы она выводила в процентном коофиценте чтобы можно было показывать процент например на компоненте TGauge

Добавлено через 4 минуты
Цитата Сообщение от qwertehok
ну какой же вы ленивый
Вообщето я скачал. Я деже вам прописи в Uses показал. Просто типа TSevenZip в этом модулю нету. Такое чуство что вы установили Pas как отдельный компонент через install Component
0
6003 / 4578 / 1096
Регистрация: 29.08.2013
Сообщений: 28,270
Записей в блоге: 3
21.01.2016, 17:30
Цитата Сообщение от Alexandr_777 Посмотреть сообщение
Необходимо чтобы она выводила в процентном коофиценте чтобы можно было показывать процент например на компоненте TGaug
вы функцию видите - вот и выводите

Цитата Сообщение от Alexandr_777 Посмотреть сообщение
Такое чуство что вы установили Pas как отдельный компонент через install Component
я вам написал код, дал ссылку на файл, уж в uses вы должны были догадаться модуль прописать

а вы вместо этого лезете на какой-то ОФИЦИАЛЬНЫЙ форум и мой код пытаетесь прикрутить к своему файлу.

ЗЫ этот файл у меня, кстати, есть. написано было что он умеет multivolume распаковывать - но у меня не получилось
0
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 57
21.01.2016, 17:46  [ТС]
qwertehok, Я сказал вам что в Uses я пропписал но этот код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Button1Click(Sender: TObject);
var 
    i:integer;
    sz:TSevenZip;
begin
  sz:= CreateInArchive(CLSID_CFormatZip);
  with sz do begin
    OpenFile('c:\temp\delphi\House.of.Cards.s01e08.HDTVRip.NewStudio.TV.z01');
    SetProgressCallback(nil, ProgressCallback);
    ExtractTo('c:\temp\delphi\');
 
  end;
неработает по причине отсуствия TSevenZip
Я даже незнаю где вы его взяли но в SevenZip TSevenZip отсуствует. Впрочем это уже неважно так как прекрасно работает этот код
Delphi
1
2
3
4
5
with CreateInArchive(CLSID_CFormat7z) do begin
    OpenFile('Crack.7z');
    SetProgressCallback(nil, ProgressCallback);
    ExtractTo('1\');
  end;
Добавлено через 9 минут
При распаковки больших файлов программа зависает. Как это можно исправить?
0
6003 / 4578 / 1096
Регистрация: 29.08.2013
Сообщений: 28,270
Записей в блоге: 3
21.01.2016, 17:55
Цитата Сообщение от Alexandr_777 Посмотреть сообщение
неработает по причине отсуствия TSevenZip
прошу прощения, это я второй файл тестировал, переменную не поменял ((((

надо вот так писать
Delphi
1
2
var
    sz:I7zInArchive;
Цитата Сообщение от Alexandr_777 Посмотреть сообщение
При распаковки больших файлов программа зависает.
что значит подвисает?
0
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 57
21.01.2016, 18:07  [ТС]
ТО И ЗНАЧИТ ПРОГРАММА ПЕРЕСТАЕТ ОТКЛИКАТЬСЯ НА ДЕЙСТВИЯ И НА ЗАГОЛОВКЕ ПОЯВЛЯЕТСЯ НЕОТВЕЧАЕТ И ТАК ПОКА ФАЙЛ НЕ РАСПАКУЕЦЦА
0
6003 / 4578 / 1096
Регистрация: 29.08.2013
Сообщений: 28,270
Записей в блоге: 3
22.01.2016, 09:04
вы что-то путаете - распаковка идет в отдельном потоке
я сейчас 2х гиговый фильм распаковывал - форма двигалась и кнопки нажимались
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.01.2016, 09:04

Работа с архивами
Доброго времени суток уважаемые! Необходима ваша помощь :) Нужно автоматизировать процесс подсчета файлов в архивах! Архивы формата...

Компонент для работы с архивами.
Мне нужен компонент для работы с Rar, SFX. SFX модуль у меня есть. Я хочу быстро делать SFX архивы Drag'n'Drop'ом. P.S.: Чтобы не...

Библиотеки для работы с Zip архивами
Хотелось бы услышать названия библиотек работающих с zip форматом (более подробно про формат не расскажу, так как только начал знакомится....

Компонента для работы с zip-архивами
Нужна компонента для Delphi7, которая умеет работать с запароленным (пароль известен) zip-архивом. Т.е. архивировать, разархивировать,...

Работа по Delphi 7
Доброго времени суток! Прошу помочь с задачей на Delphi : "Вводить имя и возраст пользователя и ответ на вопрос анкеты: Занимаетесь ли Вы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru