Форум: "Начинающим";
Текущий архив: 2009.08.30;
Скачать: [xml.tar.bz2];
Внизкак соединить два потока Найти похожие ветки
← →
Wind © (2009-06-30 17:52) [0]Уважаемые мастера, подскажите как соединить два потока TMemoryStream в один?
← →
MBo © (2009-06-30 18:09) [1]А какие методы есть в справке по TStream?
← →
Юрий Зотов © (2009-06-30 18:24) [2]Точнее, в справке по TMemoryStream. Названия свойств и методов говорят сами за себя.
← →
Wind © (2009-06-30 18:37) [3]Наверное плохо ищу, но ни чего не нашел.
← →
Юрий Зотов © (2009-06-30 18:39) [4]> Wind © (30.06.09 18:37) [3]
Подсказка:
1. Создать 3-й стрим.
2. Установить его размер равным сумме размеров двух первых.
3. Скопировать данные из 1-го в 3-й.
4. Скопировать данные из 2-го в 3-й.
← →
Джо © (2009-06-30 21:01) [5]Str2.Seek (0,soFromEnd);
Str1.SaveToStream(Str2);
← →
Wind © (2009-07-01 14:43) [6]У меня получилось так.
procedure TForm1.Button1Click(Sender: TObject);
var st,St1,st2: TStringStream;
begin
st:=TStringStream.Create(Edit1.Text);
st1:=TStringStream.Create(Edit2.Text);
st2:=TStringStream.Create("");
St2.CopyFrom(st,st.Size);
St2.CopyFrom(st1,st.Size);
St2.Position:=0;
Memo1.Lines.LoadFromStream(St2);
st.Free;
st1.Free;
st2.Free;
end;
Всем спасибо что откликнулись.
← →
MBo © (2009-07-01 14:58) [7]Это реальный код, решающий твою задачу, или просто пример?
← →
Wind © (2009-07-01 15:05) [8]Это прощеный пример. Отражающий принцип.
На самом деле у меня добавляется текстовый заголовок к картинке сохраненной в потоке.
← →
Ega23 © (2009-07-01 15:23) [9]
St2.CopyFrom(st1,st.Size);
Наверное имелось ввидуSt2.CopyFrom(st1,st1.Size);
?
← →
Wind © (2009-07-01 15:27) [10]
> St2.CopyFrom(st1,st1.Size)
Да именно так. Ссори опечатка вышла.
← →
Ega23 © (2009-07-01 16:00) [11]Ну и я бы посоветовал про try..finally не забывать.
← →
Wind © (2009-07-01 16:32) [12]Это всего лишь пример, что бы наступившие на такие же грабли как я могли сориентироваться. Я не претендую на то, что этот пример идеален. Но он работает. Если кто, напишет лучше, ради Бога буду только рад. И наверное не только я.
← →
Ega23 © (2009-07-01 16:41) [13]
> Но он работает.
Работает. Но в нём потенциальная утечка памяти.var
obj : TSomeObj;
begin
....
obj := TSomeObj.Create;
try
.....
finally
obj.Free;
end;
.....
end;
← →
Wind © (2009-07-01 16:46) [14]приведите пример лучше, в чем проблема то ?
← →
Palladin © (2009-07-01 17:49) [15]
> приведите пример лучше
уже привели
> в чем проблема то ?
в тебе, с восприятием информации... что то типа: угадал все буквы, но не смог проитать слово
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.08.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c