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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2013, 02:38   #1
KPOBOCiCb
Пользователь
 
Регистрация: 11.02.2013
Сообщений: 11
По умолчанию Прогресс извлечения файлов из архива

Извлекаются файлы из архива, все файлы имена которых записаны в ListBox. При извлечении показывается прогресс извлечения каждого файла по очереди, подскажите, как вывести общий прогресс извлечения всех файлов (ProgressBar). Работаю с архивом при помощи ZipForge.
Код:
procedure TForm1.ZipForge1OverallProgress(Sender: TObject;
  Progress: Double; Operation: TZFProcessOperation;
  ProgressPhase: TZFProgressPhase; var Cancel: Boolean);
begin
  ProgressBar1.Position:=Trunc(Progress);
  Label1.Caption:=IntToStr(Trunc(Progress)) + '%';
  Application.ProcessMessages;
end;
 
procedure TForm1.ZipForge1FileProgress(Sender: TObject;
  FileName: WideString; Progress: Double; Operation: TZFProcessOperation;
  ProgressPhase: TZFProgressPhase; var Cancel: Boolean);
begin
  Application.ProcessMessages;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  i :Integer;
begin
  for i:=1 to ListBox1.Items.Count do
    begin
      with ZipForge1 do
        begin
            FileName := 'Archive.zip';
 
            // Создать новый файл архива
            OpenArchive(fmOpenRead);
            // Установить путь к папке назначения
            BaseDir := 'FILES\';
 
            // Извлечь все файлы
            ExtractFiles(ListBox1.Items[i-1] + '\' + ListBox1.Items[i-1] + '.tweak');
 
            // Закрыть архив
            CloseArchive;
 
        end;
    end;
  ShowMessage('Все файлы были извлечены');
end;
НИЖЕ ИСХОДНИК:
Вложения
Тип файла: rar Новая папка.rar (410.4 Кб, 9 просмотров)
KPOBOCiCb вне форума Ответить с цитированием
Старый 15.02.2013, 12:35   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

Ну, а в чём проблема то ? Учите дельфи, гуглите код, курите его и т.д. а по советам на форумах Вы не добьётесь ничего сами, если советы вообще будут по Вашей конкретно задаче, а то ведь никому кроме Вас она не нужна.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  i :Integer;
begin
  ProgressBar1.Max := ListBox1.Items.Count - 1;
  ProgressBar1.Min := 0;
  ProgressBar1.Position := 0;
  for i:=1 to ListBox1.Items.Count do
    begin
      with ZipForge1 do
        begin
            FileName := 'Archive.zip';
 
            // Создать новый файл архива
            OpenArchive(fmOpenRead);
            // Установить путь к папке назначения
            BaseDir := 'FILES\';
 
            // Извлечь все файлы
            ExtractFiles(ListBox1.Items[i-1] + '\' + ListBox1.Items[i-1] + '.tweak');
            ProgressBar1.Position := ProgressBar1.Position + 1;
            // Закрыть архив
            CloseArchive;
 
        end;
    end;
  ShowMessage('Все файлы были извлечены');
end;
phomm вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение файлов из архива artemavd Общие вопросы Delphi 5 28.11.2012 01:12
Изменение тхт файлов внутри архива borockov Общие вопросы Delphi 3 21.11.2012 12:29
Программа для извлечения паролей Таня.Ку Софт 7 12.05.2012 15:44
Извлечения из домена, IP адреса Dominatorsha Работа с сетью в Delphi 1 31.05.2011 13:04
Автоматическое извлечения архива .rar zenner Помощь студентам 5 22.02.2010 14:04