Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.02;
Скачать: CL | DM;

Вниз

Можно ли добавить строку в поток   Найти похожие ветки 

 
Cut'gun ©   (2006-03-02 11:13) [0]

Здраствуйте!
У меня следующий вопрос можно ли после того как мы присвоили потоку TMemoryStream что-либо дописать несколько символов в начале потока. Попробовал метод Write, но он кажется заменяет то что уже записано. Есть подозрение что можно попробовать по ссылке или использовать SendMessage с соответсвенными флагами, но я в этом пока не силён =(. Если возможно ответ снабдите каим нибудь примером кода. Заранее спасибо.


 
TUser ©   (2006-03-02 11:55) [1]

Не тестировал

procedure Insert (Str: TStream; Position: integer;
                 const Buffer; Count: integer);
var b: array of byte;
   n: integer;
begin
 n := Str.Size - Position;
 Str.Size := Str.Size + Count;
 SetLength (b, n);
 Str.Position := Position;
 Str.ReadBuffer (b[0], n);
 Str.Position := Position;
 Str.WriteBuffer (Buffer, Count);
 Str.WriteBuffer (b, n);
 SetLength (b, 0);
end;


 
MBo ©   (2006-03-02 12:38) [2]

> дописать несколько символов в начале потока.
нельзя. Только с использованием доп. потока или временного буфера.


 
Гаврила ©   (2006-03-02 12:56) [3]


> MBo ©

Функция move нормально отработает и при частичном совпадении буферов


 
Cut'gun ©   (2006-03-02 13:02) [4]

2MBo
> с использованием доп. потока или временного буфера.
Т.е. я так понял есть способ склеить два потока?
Можно пример кода?


 
MBo ©   (2006-03-02 13:11) [5]

>Гаврила ©   (02.03.06 12:56) [3]
Да, тоже вариант.

>Т.е. я так понял есть способ склеить два потока?
>Можно пример кода?
см. метод TStream.CopyFrom



Страницы: 1 вся ветка

Текущий архив: 2006.04.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.042 c
9-1127639612
D@rk
2005-09-25 13:13
2006.04.02
Directdraw help


2-1142401608
arhanegl_isa
2006-03-15 08:46
2006.04.02
У меня есть служба. Вней я отслежываю время!


15-1142107165
Джо
2006-03-11 22:59
2006.04.02
Убить MxArrays


1-1141244466
fuzzy
2006-03-01 23:21
2006.04.02
Метод релаксации или Гаусса для системы линейных уранений


2-1142413592
Cashmare
2006-03-15 12:06
2006.04.02
RichEdit