же Stream
через TFileStream и через TCompressionStream поочерёдно?
Ну т.е. часть данных мне нужно сжать, часть не нужно
В общем вначале нужно записать в несжатом виде размер буфера, который будет сжиматься, а затем уже сами сжатые данные
Чтобы при распаковке сразу выделить буфер нужного размера
Ну т.е. вот так вот - это окей? Запись: fs := TFileStream.Create(filename, fmCreate); fcs := TCompressionStream.Create(fs); fs.Write(size, 4); fcs.Write(buf, size); Чтение: fs := TFileStream.Create(filename, fmOpenRead); fds := TDecompressionStream.Create(fs); fs.Read(size, 4) p:=GetMem(size); fds.Read(pbyte(p)^, MaxInt);
Да ) Вот только-что тоже уже проверил, хотел написать )
еслиб было нельзя всякие там ZIP архивы было бы сложновато создавать если их нельзя кусками стримить
Обсуждают сегодня