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

Вниз

Архивирование файлов   Найти похожие ветки 

 
adif   (2003-10-28 14:42) [0]

Как с помощью delphi архивировать файлы? Если есть компонент, то подскажите где взять!


 
adif   (2003-10-28 14:48) [1]

Неужели никто не знает? Может кто нибудь?


 
Малиновский Владимир   (2003-10-28 14:52) [2]

uses ...Zlib;

procedure ExportToZStrem(OutputFile: TFileStream);
var
i : integer;
dtSize : Integer;
currPosition : Integer;
cmpStream : TCompressionStream;
memStream : TMemoryStream;
memCmpStream : TMemoryStream;
SavedCursor : TCursor;
begin
...
memStream := TMemoryStream.Create;
memCmpStream := TMemoryStream.Create;
cmpStream := TCompressionStream.Create(clMax, memCmpStream);
SavedCursor := Cursor;
Cursor := crSQLWait;

try
... // Что-то как - нибудь записали в memStream
memStream.Write("Всем привет!",SizeOf("Всем привет!"));
memStream.Position := 0;

cmpStream.CopyFrom(memStream, memStream.Size); // Сжать и в файл
FreeAndNil(cmpStream); // Для освобождения буфера сжатого потока и
// правильного его позиционирования
dtSize := memCmpStream.Size;

OutputFile.Write(dtSize, SizeOf(dtSize));

memCmpStream.Position := 0;
OutputFile.CopyFrom(memCmpStream, dtSize);
finally
...
if Assigned(memStream) then FreeAndNil(memStream);
if Assigned(memCmpStream) then FreeAndNil(memCmpStream);
if Assigned(cmpStream) then FreeAndNil(cmpStream);
Cursor := SavedCursor;

end;

end;

// Возможны варианты


 
npAKTuk ©   (2003-10-28 14:55) [3]

Используй API функции по вызову внешних программ :)
грубо говоря получается эмуляция командной строки,

что обидно не могу вспомнить название функции, так что посмотри в хэлпах на тему "ExecuteProcess" или что похожее


 
Малиновский Владимир   (2003-10-28 14:55) [4]

Кстати, пример - то рабочий...


 
npAKTuk ©   (2003-10-28 14:56) [5]

а пример просто великолепный!!!


 
Малиновский Владимир   (2003-10-28 15:07) [6]

Вот, пока сам не похвалишь, никто и не заметит!


 
Amoeba   (2003-10-28 15:55) [7]

www.torry.net



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

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

Наверх




Память: 0.48 MB
Время: 0.043 c
1-41426
Эдик Дятлов
2003-10-29 13:25
2003.11.13
Изменение размеров и положения во время run-time


4-42308
AlexSSS
2003-09-07 13:54
2003.11.13
Temp


1-41488
Centurion
2003-10-28 15:54
2003.11.13
AccessViolation


6-41870
TButton
2003-09-05 20:50
2003.11.13
Сокеты


1-41259
GIL
2003-10-31 16:45
2003.11.13
пишет ошибку присвоения