Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

TMemoryStream

Delphi , Компоненты и Классы , Потоки

TMemoryStream

Думайте о потоке памяти как о расположенном в памяти файле. Команды для работы с потоком очень похожи на команды для работы с файлами. (В действительности, это ближе к команде blockwrite.)

Вот "медленный" путь записи строки в поток:


for i := 1 to Length(s) do
  memstream.Write(s[i], 1);

Данный код пишет за один проход один символ строки. Просто и легко для понимания, но немного медленно в работе. Для ускорения процесса можно сделать так:


memstream.Write(s[1], Length(s));

Две строчки делают то же самое, они добавляют символы в поток. Если вы не делали никаких перемещений внутреннего курсора потока (seek), символы просто добавляются в конец.

Теперь, для соблюдения перевода каретки, вы должны добавлять эти спецсимволы сами:


memstream.Write(#13, 1);
memstream.Write(#10, 1);

Или вы можете использовать более изощренный метод:


procedure StreamWriteStr(var ms: TMemoryStream; s: string);
begin
  ms.Write(s[1], Length(s));
end;

procedure StreamWriteLnStr(var ms: TMemoryStream; s: string);
begin
  StreamWriteStr(ms, s + #13#10);
end;

Также, вы можете создать собственный класс-потомок TMemoryStream, с методом записи строк.

В статье рассматриваются основные принципы работы с потоком памяти TMemoryStream в Delphi, включая команды для записи и считывания данных, а также способы ускорения процесса записи строк.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Потоки ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 14:21:58/0.004817008972168/1