Главная страница
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.022 c
1-41175
Popova
2003-11-02 17:22
2003.11.13
Как обойти эту проблему


3-40783
Geugenk
2003-10-26 15:22
2003.11.13
Есть какие-то свойства у Ttable которые отключают отличие значени


3-40788
The X
2003-10-22 05:14
2003.11.13
Облегчение сервисной работы с большим кол-вом таблиц


7-42187
xer
2003-08-29 11:04
2003.11.13
Программирование COM порта..


4-42257
Julliete
2003-08-14 11:20
2003.11.13
Запуск приложений.