Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2009, 10:24   #51
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Для этого требуется мелочь - умение читать по английски. В Делфи есть хелп, в нем пишите TMemoryStream и читаем про Seek

Цитата:
Moves the current position of the stream by Offset bytes, relative to the origin specified by Origin.

Delphi syntax:

function Seek(Offset: Longint; Origin: Word): Longint; override;

C++ syntax:

virtual int __fastcall Seek(int Offset, Word Origin);

Description

Use Seek to move the current position within the memory stream by the indicated offset. Seek allows an application to read from or write to a particular location within the Memory associated with the memory stream.

If Offset is a negative number, the seek is backward from the specified origin. The following table shows the different values of Origin and their meanings for seeking.

Value Meaning

soFromBeginning Offset is from the beginning of Memory. Seek moves to the position Offset. Offset must be >= 0.
soFromCurrent Offset is from the current position. Seek moves to Position + Offset.
soFromEnd Offset is from the end of Memory. Offset must be <= 0 to indicate a number of bytes before the end of the memory buffer.

Seek returns the new value of the Position property.

Note: Seek does no error checking on the value provided for Offset. Do not call seek with an offset that would move the current position less than 0 (before the start of Memory) or greater than Size (beyond the end of the memory buffer).
А при желании можно найти русский перевод в Инете (но, ИМХО, там иногда бывают неточности)
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 13.08.2009, 10:29   #52
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Вот както народ умеет вставлять данные на нужную позицию с помошью
TMemoryStream вот только как?
Ну это не сложно:
Код:
var s:TMemoryStream;e:string;
begin
 s:=TMemoryStream.Create;
 e:='123456';
 s.Write(e[1],length(e));
 s.Position:=3; // Переходим в нужную позицию
 e:='q';
 s.Write(e[1],length(e));// Заменяем с той позиции данные в потоке на другие из строки
 setlength(e,s.Size); // а вот свойство Size меня не порадовало, так что с ним поосторожнее.
 s.Position:=0;
 s.Read(e[1],s.Size);
 s.Free;
 caption:=e;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа для работы с файлами (паскаль). DeamoniC Помощь студентам 4 09.06.2009 23:21
Посоветуйте прогу для работы с реестром Денис Коржанов Софт 4 28.01.2009 11:17
Программа для работы с dfx-файлами Sanek777 Фриланс 5 11.11.2008 21:04
Библиотека для работы с *.psd-файлами. vinni Мультимедиа в Delphi 3 23.10.2008 20:29
Прога для работы с текстовыми файлами f-only Софт 4 04.10.2007 23:35