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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2012, 22:36   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Чтение файлов из архива

Добрый день!
Мне нужно, не распаковывая архив, получить списком имена всех TXT файлов в архиве. Просто имена. Я делаю так:
Код:
procedure TForm1.sBitBtn1Click(Sender: TObject);
var
 ArchiveItem: TZFArchiveItem;
begin
 ZipArchive.FileName:='I:\test.zip';
 ZipArchive.OpenArchive(fmOpenReadWrite);
 if (ZipArchive.FindFirst('*.txt',ArchiveItem,faAnyFile)) = True then
   begin
    sLabel2.Caption:=ArchiveItem.FileName;
   end;
 ZipArchive.CloseArchive;
end;
но в sLabel2 у меня пусто и ничего не заносится. Подскажите как мне решить эту задачу?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.11.2012, 23:34   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Это ZipForge? А там точно файлы есть с таким расширением? И для получения всего списка нужно еще ZipArchive.FindNext использовать в цикле
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.11.2012, 23:38   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Это ZipForge?
Да.
Цитата:
А там точно файлы есть с таким расширением?
Ну конечно есть...
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.11.2012, 23:53   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Так у меня работает. В архиве только файлы
Код:
var ArchiveItem: TZFArchiveItem;
begin
 ZipForge1.FileName:='e:\zip.zip';
 ZipForge1.OpenArchive(fmOpenRead);
 if ZipForge1.FindFirst('*.txt',ArchiveItem,faAnyFile) then
   repeat
     Memo1.Lines.Add(ArchiveItem.FileName);
   until not ZipForge1.FindNext(ArchiveItem);
 ZipForge1.CloseArchive;
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 28.11.2012, 00:13   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
По умолчанию

ВСе работает...
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
  ZIP: TFWZipReader;
  i: Integer;
begin
  ZIP := TFWZipReader.Create;
  try
    ZIP.LoadFromFile(LabeledEdit1.Text);
    for i := 0 to ZIP.Count - 1 do
    begin
      if (not ZIP[i].IsFolder) then
      begin
        if (ExtractFileExt(ZIP[i].FileName) = '.txt') then
          Memo1.Lines.Add(ZIP[i].FileName);
      end;
    end;
  finally
    FreeAndNil(ZIP);
  end;
end;

end.
Пользуюсь FWZip
Вложения
Тип файла: rar fZIP Sample.rar (638.3 Кб, 9 просмотров)
Человек_Борща вне форума Ответить с цитированием
Старый 28.11.2012, 01:12   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

++ Огромное спасибо, Аватар! Все работает как надо!
Человек_Борща, тебе тоже большое спасибо за оказанную помощь!
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение тхт файлов внутри архива borockov Общие вопросы Delphi 3 21.11.2012 12:29
Чтение с zip архива Nikk[UA] Общие вопросы Delphi 15 21.06.2012 00:15
Чтение файлов из директории WarAngel.alk PHP 2 22.10.2011 18:45
чтение файлов Neymexa Общие вопросы .NET 2 07.04.2009 11:03
Можно ли открыть на чтение файл.txt из архива rar или zip. slips Общие вопросы Delphi 6 06.02.2009 23:51