Добрый день. Проблема следующая:
Хочу объединить 3 TMemoryStream, сохранить, загрузить и разделить.
Что я делаю
Гружу в стримы информацию из memo, затем объединяю и на этом моменте получаю кучу ошибок
вот то что сделал сейчас
Код:
private
AStream, BStream, CStream,ResultStream: TMemoryStream;
procedure CompressFiles(ResStream: TMemoryStream);
procedure StringToStream(const AString: string; Stream: TMemoryStream);
begin
Stream:=TMemoryStream.Create;
Stream.Write(AString[1], Length(AString));
end;
procedure TForm1.CompressStream(ResStream: TMemoryStream);
var outfile: TMemoryStream;
compr : TMemoryStream;
i,l,b : Integer;
s : String;
begin
outFile := TMemoryStream.Create;
try { отмечаем количество файлов }
l := 3;
outfile.Write(l,SizeOf(l));
s := 'AStream';
l := Length(s);
outfile.Write(l,SizeOf(l));
outfile.Write(s[1],l); { размер стрима }
l := AStream.Size;
outfile.Write(l,SizeOf(l)); {упаковываем файл и сохраняем во временный файл}
outfile.LoadFromStream(AStream);
// outfile.SaveToFile('mestream');
AStream.Free;
//
finally
outfile.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
StringToStream(memo1.Text, AStream);
StringToStream(memo2.Text, BStream);
StringToStream(memo3.Text, CStream);
Button2.Enabled:=true;
Button3.Enabled:=true;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
CompressStream(ResultStream);
end;
Уже 3 раз начинаю писать этот код и все время натыкаюсь на проблемы, кто может подсказать что не так и как это можно сделать(и если не сложно помочь с исходником)?