Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.10;
Скачать: CL | DM;

Вниз

Как использовать Zlib в своей программе?   Найти похожие ветки 

 
Никита7   (2009-11-18 15:09) [0]

Нужно упаковать несколько файлов в один,а потом при надобности распаковать(архивация БД). Хочу использовать библиотеку Дельфи 7 Zlib, только незнаю как :(


 
Palladin ©   (2009-11-18 15:15) [1]

http://lmgtfy.com/?q=%D0%9A%D0%B0%D0%BA+%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C+Zlib+%D0%B2+%D1%81%D0%B2%D0%BE%D0%B5%D0%B9+%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B5+delphi


 
Дмитрий Белькевич   (2009-11-18 15:55) [2]

Плакалъ :~~~)


 
Ухарь   (2009-11-18 19:52) [3]

Ну что тут сказать
первая же ссылка указывает сюда же.
Бывает, ищешь так что-нибудь гуглем, и попадаешь исключительно на форумы с советами погуглить. В таких случаях хочется отыскать этих умных людей, и поблагодарить за все то разумное, доброе и светлое, что они творят


 
Дмитрий Белькевич   (2009-11-18 22:18) [4]

>первая же ссылка указывает сюда же.

Ну так скажем спасибо шустрому гуглу, что же удивляться, что название темы точь-в-точь соответсвует запросу и потому наиболее релевантно...


 
Никита7   (2009-11-19 14:34) [5]

>Ухарь Точно! :) Тяжким трудом удалось упаковать один файл, но несколько в один никак не получаится. :(


 
Сергей М. ©   (2009-11-19 14:36) [6]


> несколько в один никак не получаится


Не лезет ?


 
Никита7   (2009-11-19 14:55) [7]

>Сергей М. Имя беру из OpenDialog1.FileName, а кучу файлов нельзя выделить при выборе :(
var
source,dest:TFileStream;
CompresSstream:TCompressionStream;  
bytesread,buffer_size:integer;
mainbuffer:array[0..1023] of char;
curdir:String;
begin
source:=TFileStream.Create(OpenDialog1.FileName ,fmOpenRead);
dest:=TFileStream.Create("archive.zip",fmCreate);
CompresSstream:=TCompressionStream.Create(clMax,dest);
 try          
  repeat
   bytesread:=source.Read(mainbuffer,buffer_size);
   CompresSstream.Write(mainbuffer,bytesread);  
   until bytesread<1024;  
 except  
  CompresSstream.free;
  source.Free;
  dest.Free;
  exit;
 end;
CompresSstream.free;
source.Free;
dest.Free;


 
antonn ©   (2009-11-19 15:02) [8]

Stream - это поток, тупо массив байтиков, кусок памяти. Чтобы упаковать несколько файлов нужно самому составить структуру файла, в которой писать где в потоке находится файл, сколько он занимает (дату изменения, владелец и тп). Придумать самому или разбираться с готовыми (tar/zip).


 
Сергей М. ©   (2009-11-19 15:09) [9]


> Никита7   (19.11.09 14:55) [7]


Можно подумать, что кто-то под страхом казни заставляет тебя использовать контрол, не позволяющий множественный выбор


 
Leonid Troyanovsky ©   (2009-11-19 15:10) [10]


> Никита7   (19.11.09 14:55) [7]

> нельзя выделить при выборе

ofAllowMultiSelect

--
Regards, LVT.


 
Palladin ©   (2009-11-19 16:20) [11]


> Ухарь   (18.11.09 19:52) [3]

Когда искал я, а я искал, первая же ссылка указывала на решение. Икибастусоподобный гугл.


 
Никита7   (2009-11-20 11:20) [12]

Спасибо, попробую ofAllowMultiSelect ... Ежли не прокатит попытаюсь составить структуру файла (antonn)



Страницы: 1 вся ветка

Текущий архив: 2010.01.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
2-1258544870
tonich
2009-11-18 14:47
2010.01.10
скрыть метод предка


2-1258031503
kyn66
2009-11-12 16:11
2010.01.10
Строку в объект


1-1232969686
Валера
2009-01-26 14:34
2010.01.10
Как узнать версию Office?


15-1257712925
POOP
2009-11-08 23:42
2010.01.10
При отражении длина световой волны меняется?


4-1226015472
Eraser
2008-11-07 02:51
2010.01.10
Проверка подлинности сервера