![>](style_images/1/nav_m.gif)
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.226.150.219] |
![]() |
|
Сообщ.
#1
,
|
|
|
Допустим имеется Mem: TMemoryStream; и buf : array of Byte;
Как вставить buf в Mem с определенной позиции, не перезапись а именно вставка? |
Сообщ.
#2
,
|
|
|
1) Увеличить размер стрима и переписать его хвост с заданной позиции со смещением на размер buf
2) Записать buf c заданной позиции ![]() ![]() OldSize:=Mem.Size; Mem.Size:=OldSize + Length(buf); Mem.Position:=APos + Length(buf); Mem.WriteBuffer(pAnsiChar(Mem.Memory)[APos], OldSize-APos); Mem.Position:=APos; Mem.WriteBuffer(buf[0], Length(Buf)); |