Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Архивация данных 
:(
    Опции темы
Kirgston
Дата 2.10.2010, 08:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Доброго времени суток! Собственно интересует вопрос по архивации. Попытался подключить СДК от 7zip . На студии нормально подключил. Начал на билдере - ужаснулся... ну там у него свои подводные камни и они не столь просты. Может есть какие нибудь контролы? Классы? Уже заточенные под Билдер ХЕ (2011) ? Ну и само собой фришные =)
PM MAIL   Вверх
Alca
Дата 2.10.2010, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



TCompressionStream/TDecompressionStream

Добавлено через 22 секунды
Код

#include "ZLib.hpp"

...........

  TFileStream *F = new TFileStream("some.txt", fmOpenRead);
  TCompressionStream *t = new TCompressionStream(Zlib::clMax, F);

..........



--------------------
PM WWW ICQ Skype Jabber   Вверх
Kirgston
Дата 2.10.2010, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Alca @  2.10.2010,  10:43 Найти цитируемый пост)
#include "ZLib.hpp"


Если не сложно ссылочку на вот этот файлик (я как понимаю это либа; в пакете на zlib.org этого нету) и более детально как это юзать... 
PM MAIL   Вверх
Alca
Дата 2.10.2010, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



АХТУНГ

Добавлено через 45 секунд
http://forum.vingrad.ru/topic-243594.html


--------------------
PM WWW ICQ Skype Jabber   Вверх
Kirgston
Дата 3.10.2010, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Kirgston @  2.10.2010,  13:46 Найти цитируемый пост)
 в пакете на zlib.org этого нету


PM MAIL   Вверх
Alca
Дата 3.10.2010, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата

в пакете на zlib.org этого нету

 smile 


--------------------
PM WWW ICQ Skype Jabber   Вверх
Kirgston
Дата 3.10.2010, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Alca @  3.10.2010,  16:33 Найти цитируемый пост)
 

А где мне тогда достать?)))
PM MAIL   Вверх
xvr
Дата 4.10.2010, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Kirgston @ 3.10.2010,  19:15)
Цитата(Alca @  3.10.2010,  16:33 Найти цитируемый пост)
 

А где мне тогда достать?)))

У себя в BCB  smile 
Цитата

C:\Program Files\Borland\BDS\4.0\include\vcl\ZLib.hpp 
(это в 2006)

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


Опытный
**


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

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



Цитата(xvr @  4.10.2010,  13:26 Найти цитируемый пост)
У себя в BCB   

Хм... не знал... спасибо. Но остается вопрос: как с этим работать? Ну заархивировать 1 файл это ясно. А папку? 


Это сообщение отредактировал(а) Kirgston - 6.10.2010, 23:04
PM MAIL   Вверх
darweeng
Дата 30.12.2012, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени. Сжать данные получилось, а вот обратно распаковать не выходит. Все время выдает сообщение о неправильных операциях с потоками. Гляньте пожалуйста, может что неправильно пишу: 
Код

       TMemoryStream *D = new TMemoryStream;
    TMemoryStream *T = new TMemoryStream;
    Memo1->Lines->SaveToStream(T);
    TDecompressionStream *cmp = new TDecompressionStream(T);
    cmp->Position=0;
    cmp->Write(D,cmp->Size);
    delete cmp;
    D->Seek(0,0);    
    Memo2->Lines->LoadFromStream(D);

PM MAIL   Вверх
xvr
Дата 31.12.2012, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(darweeng @  30.12.2012,  19:09 Найти цитируемый пост)
 может что неправильно пишу:

Все неправильно.
В T у вас должен быть поток из исходного упакованного файла (у вас там вообще непонятно что). Потом вы должны читать из вашего cmp и писать в выходной файл (распакованный).

PM MAIL   Вверх
darweeng
Дата 3.1.2013, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ну в том то и задача,  что мне не файлы распаковать надо а данные при чтении из БД.  Здесь я просто для  простоты беру уже запакованные текст и пытаюсь его распаковать. Ругается на строчке 
Код

cmp->Write(D,cmp->Size);

PM MAIL   Вверх
xvr
Дата 10.1.2013, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(darweeng @  3.1.2013,  15:14 Найти цитируемый пост)
Ну в том то и задача,  что мне не файлы распаковать надо а данные при чтении из БД. 

Значит вы должны сделать поток из данных из вашей БД, и подать его в new TDecompressionStream(...) параметром. А затем читать из созданного TDecompressionStream (а вы пытаетесь в него писать)


Это сообщение отредактировал(а) xvr - 10.1.2013, 16:37
PM MAIL   Вверх
artsb
Дата 10.1.2013, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

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



darweengxvr дело говорит. Внимательно прочитайте его посты.

Шаблон:
Код

TMemoryStream *msField;

msField = (TMemoryStream *)adoQuery->CreateBlobStream(adoQuery->FieldByName("my_field"), bmRead);
if(msField)
{
  TDecompressionStream *cmp = new TDecompressionStream(msField);
  cmp->Read(/*...*/);
  delete cmp;
  delete msField;
}

(писалось на коленке)


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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