Главная страница
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.051 c
15-1141541000
DarkHorror
2006-03-05 09:43
2006.04.02
Вычисление суммы строк матрицы...


2-1142601378
nap<>
2006-03-17 16:16
2006.04.02
Такой вопрос


2-1142520521
kop
2006-03-16 17:48
2006.04.02
Строки


2-1142800561
Quattro
2006-03-19 23:36
2006.04.02
Окно-заставка


15-1142016649
Fl@sh
2006-03-10 21:50
2006.04.02
Связка таблиц..