Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Распаковка зипов, Нужно распаковать зип архив 
V
    Опции темы
_Salzar_
  Дата 14.11.2006, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 18.10.2006

Репутация: нет
Всего: нет



Доброго всем времени суток !
Короче проблемка такова:
Имеется зип архив с кучей файлов, скажем DBarh1.zip....
Каким образом его можно распаковать в нужный каталог?
Может какие-нить контролы, или модули есть? 
Или лучше через UnZip (выполнить командную строку)?

PM MAIL   Вверх
chaos
Дата 14.11.2006, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 1
Всего: 44



_Salzar_, я пользуюсь LiteUnzip(LiteUnzip.dll LiteUnzip.h LiteUnzip.lib ) 
PM WWW   Вверх
Bima
Дата 14.11.2006, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 15.8.2006

Репутация: 2
Всего: 2



chaos, а ты выложи эти файлы здесь и еще простенький пример для лучшего понимания.


--------------------
Чтобы дойти до цели, надо идти.

Клавиатура и мышь - это главные инструменты прогресса.
PM MAIL WWW   Вверх
chaos
Дата 14.11.2006, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 1
Всего: 44



самый тривиальный пример
Код

HUNZIP huz;
ZIPENTRY ze;
DWORD numitems;

if (0 == UnzipOpenFile(&huz, c_sorZipFileName, 0))
{
    ze.Index = (DWORD)-1;
    UnzipGetItem(huz, &ze);
    numitems = ze.Index;

    for (ze.Index = 0; ze.Index < numitems; ze.Index++)
    {
        UnzipGetItem(huz, &ze);
        UnzipItemToFile(huz, ze.Name, &ze);
    }

    UnzipClose(huz);
}




Это сообщение отредактировал(а) chaos - 14.11.2006, 11:14

Присоединённый файл ( Кол-во скачиваний: 46 )
Присоединённый файл  Zip.zip 24,83 Kb
PM WWW   Вверх
_Salzar_
Дата 14.11.2006, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 18.10.2006

Репутация: нет
Всего: нет



Всем спасибо !, То что надо !!!м  smile 
PM MAIL   Вверх
CLIPSA
Дата 17.1.2007, 01:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 6.10.2006

Репутация: 1
Всего: 2



Я пробовала. И помоему оно в C++ 2006 не работает
PM MAIL   Вверх
Bima
Дата 17.1.2007, 06:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 15.8.2006

Репутация: 2
Всего: 2



Я использую компонент ZipForge (качать отсюда)

вот код программы:
Код

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Kod.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "ZipForge"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner):TForm(Owner){}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ZipForge1->FileName=Edit1->Text;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
ZipForge1->OpenArchive();
ZipForge1->BaseDir=Edit2->Text;
ZipForge1->ExtractFiles("*.*");
try
   {
   ZipForge1->TestFiles("*.*");
   }
catch(...)
   {
   MessageDlg("Errors occurred in the archive file",mtError,TMsgDlgButtons()>>mbOK,0);
   }

ZipForge1->CloseArchive();
Application->MessageBoxA("Extract","Information",0);
}
//---------------------------------------------------------------------------

на форме два Edit, первый указывает на архив, второй - путь для распаковки. Еще есть две кнопки, первая, чтобы присвоить путь архива к компоненту, вторая - чтобы распаковать архив


--------------------
Чтобы дойти до цели, надо идти.

Клавиатура и мышь - это главные инструменты прогресса.
PM MAIL WWW   Вверх
VSergeyV
Дата 21.11.2007, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 299
Регистрация: 9.5.2006
Где: Новосибирск

Репутация: нет
Всего: 3



Цитата(CLIPSA @ 17.1.2007,  01:00)
Я пробовала. И помоему оно в C++ 2006 не работает

Я тоже пробовал LiteUnzip под BC++ 2006 увы не работает(((

ZipForge отличная штука, 

ксати вроде в BC++ 2006 есть встроенные либы ZLIB, но тоже не хочет работать)
PM MAIL ICQ   Вверх
VSergeyV
Дата 22.11.2007, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 299
Регистрация: 9.5.2006
Где: Новосибирск

Репутация: нет
Всего: 3



А можно ли использовать виндовые либы (zipfldr.dll) для распаковки zip`ов? Нигде чето нет описания
PM MAIL ICQ   Вверх
VSergeyV
Дата 29.11.2007, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 299
Регистрация: 9.5.2006
Где: Новосибирск

Репутация: нет
Всего: 3



Оказалось можно работать с ZIP архивами средствами Windows, запаковывать, распаковывать, просмотривать содержимое - обсуждение тут - http://forum.sources.ru/index.php?showtopi...p;#entry1783498
PM MAIL ICQ   Вверх
ksili
Дата 29.11.2007, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



Цитата(VSergeyV @  21.11.2007,  16:29 Найти цитируемый пост)
ZipForge отличная штука, 


так она и платная,.. $69 - не хило


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
popapo
Дата 21.8.2009, 14:50 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 23.2.2008

Репутация: 1
Всего: 1



ksili, это для комерческого использования она платная, но у меня вопрос, будут ли в программе упоминания что используються компоненты или будет программа без каких либо подобных сообщений о лицензии работать на других компьютерах? и можно ли свою программу распространять бесплатно? ведь я же не компания....
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0556 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.