Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?
Поиск
L


Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 14
Всего онлайн: 14
Зарегистрировано юзеров: 5683
Комментариев на сайте: 619
Новый юзер: `Alinka1997



Последние комментарии
c
baxodir прокомментировал "Урок 23 - Функции для работы с мышью":
Но Это мало можно ещё больше
pronin106 прокомментировал "Урок 27 - Создаем игру Ping-pong - часть(2/3)":
Все получилось! Спасибо за урок. У кого не получилось читайте внимательнее! Не делайте тупо копипаст



Мы в соцсетях
c
Delphi
Потоки данных в Delphi

Под потоком здесь понимается объект TStream, который является базовым объектом для потоков разных типов. В этом объекте реализованы все необходимые свойства и методы, используемые для чтения и записи данных на различные типы носителей (память, диск, медиа-носители). Благодаря этому объекту доступ к разным типам носителей становится одинаковым. Сейчас мы не будем рассматривать пример использования потоков, а ограничимся только теоретическими знаниями.

Объект TFileStream является потомком главного объекта TStream и позволяет получить доступ к диску. Точно так же можно получить доступ: к памяти через объект TmemoryStream; к сети через объект TWinSocketstream; к СОМ-интерфейсу через объект TOlestream; к строкам, находящимся в динамической памяти, через объект TStringStream. Это неполный список объектов потоков, но даже все эти объекты мы рассматривать не будем. Рассмотрим только базовый объект TStream. Работа с другими объектами идентична и точно так же можно работать с любым другим типом потока.

Итак, давайте разберемся со свойствами и методами потока

Свойства

Position — указывает на текущую позицию курсора в потоке. Начиная с этой позиции будет происходить чтение данных;
Size — размер данных в потоке.

Методы

CopyFrom — метод предназначен для копирования из другого потока. У него два параметра: указатель на поток, из которого надо копировать, и число, показывающее размер данных, подлежащих копированию;
Read — прочитать данные из потока, начиная с текущей позиции курсора. У этого метода два параметра — буфер, в который будет происходить чтение, и число, показывающее размер данных для копирования;
Seek — переместиться в новую позицию в потоке. У этого метода два параметра:
Первый параметр: число, указывающее на позицию, в которую надо перейти. Если вам нужно передвинуться на пять байт, то просто укажите цифру 5.
Второй параметр: откуда надо двигаться. Тут возможны три варианта:
soFromBeginning — двигаться на указанное количество байт от начала файла;
soFromCurrent — двигаться на указанное количество байт от текущей позиции в файле к концу файла;
soFromEnd — двигаться от конца файла к началу на указанное количество байт.
SetSize — установить размер потока. Здесь только один параметр — число, указывающее новый размер потока. Допустим, что вам надо уменьшить размер файла. В этом случае с помощью метода SetSize потока TFiieStream вы можете уменьшить или даже увеличить размер файла.
Write — записать данные в текущую позицию потока. У этого метода два параметра:
переменная, содержимое которой нужно записать;
число байт для записи.
Это основные методы, которые вам могут понадобиться при работе с потоками.

Слова Stream и Thread переводятся на русский язык почему-то одинаково: поток. Но в программировании это разные термины. Stream — это поток каких-либо данных, a Thread обеспечивает многопоточность приложений (параллельное выполнение или вычисление). Чтобы не путаться, можно использовать один термин — поток, но в дальнейшем нужно понять разницу между двумя этими терминами.

Совет: Обращайте внимание на англоязычное название объектов, с которыми будете работать и помните, что Stream — это поток данных, a Thread — отдельная нить процесса, выполняющего инструкции программы. Процесс — это отдельная программа, которая может состоять из нескольких потоков (Thread). В данном случае поток можно воспринимать как процедуру, которая выполняется параллельно основной задаче. Именно поэтому и нужно вам следить за названиями, чтобы не путать поток данных и программный поток.

Вот и всё, Удачи!

Математическое программирование в среде delphi
Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 1 июля 2016
Просмотров: 99135


Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.