Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как использовать Zlib в своей программе? [D7, XP]


Никита7 ©   (2009-11-18 15:09:00) 

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


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

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


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


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

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


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


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

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

ofAllowMultiSelect

--
Regards, LVT.


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


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


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


antonn   (2009-11-19 15:02:00) [5]

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


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

>Сергей М. Имя беру из 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;


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


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


Не лезет ?


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

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


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

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

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


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

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


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

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


Palladin   (2009-11-18 15:15:00) [12]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо