Показать сообщение отдельно
  #40  
Старый 27.04.2013, 12:21
DrGeorg DrGeorg вне форума
Прохожий
 
Регистрация: 26.04.2013
Сообщения: 38
Версия Delphi: RAD Studio XE3
Репутация: 10
По умолчанию

Я наверное не правильно объяснил: 600Mb занимает не один файл - их 10!!! И загружать надо не все подряд файлы, а какой нибудь один!
Дэ факто: 50Mb на файл - сёравно ощутимо!..
Вопрос в другом - как подгружать файл в память частями для распаковки этих частей по отдельности, короче как заставить перелопатить большой файл через эту функцию:
Код:
var
  ms, ms2: TMemoryStream;
  zs: TCompressionStream;
begin
  ms :=  TMemoryStream.Create;
  ms2 := TMemoryStream.Create;
//  zs := TCompressionStream.Create(ms2, zcMax);
  try
    ms.LoadFromFile('C:\qqq.lzo');
//    zs.CopyFrom(ms, ms.Size);
    ms2.Size := 1024*1024*10;
 
    ms2.Size := lzodecompress(Byte(ms.Memory^), Byte(ms2.Memory^));
    RichEdit1.LinesLoadFromStream(ms2);
  finally
    ms2.Free;
    ms.Free;
  end;
__________________
Все смелые до begin...
Ответить с цитированием