Як використовувати zlib в своїй програмі

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

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

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


> Кілька в один ніяк не виходить

> Сергій М. Ім'я беру з OpenDialog1.FileName, а купу файлів можна виділити при виборі :(
var
source, dest: TFileStream;
CompresSstream: TCompressionStream; # XA0;
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);
# XA0; try # XA0; # XA0; # XA0; # XA0; # XA0;
# XA0; repeat
# XA0; # XA0; bytesread: = source.Read (mainbuffer, buffer_size);
# XA0; # XA0; CompresSstream.Write (mainbuffer, bytesread); # XA0;
# XA0; # XA0; until bytesread<1024;  
# XA0; except # XA0;
# XA0; CompresSstream.free;
# XA0; source.Free;
# XA0; dest.Free;
# XA0; exit;
# XA0; end;
CompresSstream.free;
source.Free;
dest.Free;

Stream - це потік, тупо масив Байтік, шматок пам'яті. Щоб упакувати декілька файлів потрібно самому скласти структуру файлу, в якій писати де в потоці знаходиться файл, скільки він займає (дату зміни, власник і тп). Придумати самому або розбиратися з готовими (tar / zip).

Можна подумати, що хтось під страхом страти змушує тебе використовувати контрол, який дозволить множинний вибір


> Нікіта7 # XA0; (19.11.09 14:55) [7]

> Не можна виділити при виборі

ofAllowMultiSelect

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

Схожі статті