BigEdu.ru

Потоки TStream, TFileStream, TMemoryStream

Южно-Сахалинский институт экономики, права и информатики

Кафедра КТиС

Пояснительная записка к курсовой работе

по дисциплине: Языки программирования и методы трансляции

натему: Потоки: TStream, TFileStream, TMemoryStream

Южно-Сахалинск

2010


Введение

Задачей курсовой работы является реализация программы для работы с файловой структурой операционной системы Windows. Для реализации программы требуется использовать интегрированную среду разработки Delphi7.

Цель работы – изучить принципы программирования файловой структуры в операционной системе Windows и создать программу для работы с потоками TStream, TFileStream и TMemoryStream. В проекте предполагается реализовать основные операции над потоками, такие как чтение, запись, удаление и редактирование.

Разрабатываемая система выполняет следующие функции:

1. позволяет создавать потоки TFileStream, TMemoryStream,

2. сохранение данных в файлы,

3. открытие и редактирование файлов при помощи потоков,

4. использовать данные из файлов в программе.

Для разработки приложения используются следующие программные инструменты:

1. среда разработки Delphi 7


1. Поток TStream

В основе иерархии классов потоков лежит класс Tstream. Он обеспечивает выполнение основных операций потока безотносительно к реальному носителю информации. Основными из них являются чтение и запись данных. Класс Tstream порожден непосредственно от класса TObject. Потоки также играют важную роль в чтении/записи компонентов из файлов ресурсов (DFM). Большая группа методов обеспечивает взаимодействие компонента и потока, чтение свойств компонента из ресурса и запись значений свойств в ресурс.

Таблица 1 - Свойства и методы класса Tstream

Объявление Описание
property Position: Longint; Определяет текущую позицию в потоке
property Size: Longint; Определяет размер потока в байтах
function CopyFrom( Source: TStream; Count: Longint) : Longint; Копирует из потока SourceCount байты, начиная с текущей позиции. Возвращает число скопированных байтов
function Read(var Buffer; Count: Longint) : Longint; virtual; abstract; Абстрактный класс, перекрываемый в наследниках. Считывает из потока Count байты в буфер Buffer. Возвращает число скопированных байтов
procedure Read3uffer (var Buffer; Count: Longint) ; Считывает из потока Count байты в буфер Buffer. Возвращает число скопированных байтов
function Seek (Off set: Longint; Origin: Word): Longint; virtual; abstract; Абстрактный класс, перекрываемый в наследниках. Смещает текущую позицию в реальном носителе данных на Offset байтов в зависимости от условия Origin
function Write (const Buffer; Count: Longint): Longint; virtual; abstract; Абстрактный класс, перекрываемый в наследниках. Записывает в поток Count байты из буфера Buffer. Возвращает число скопированных байтов
procedure WriteBuffer (const Buffer; Count: Longint); Записывает в поток Count байты из буфера Buffer. Возвращает число скопированных байтов
function ReadComponent (Instance: TComponent): TComponent; Передает данные из потока в компонент instance, заполняя его свойства значениями
function ReadComponentRes (Instance: TComponent) : TComponent; Считывает заголовок ресурса компонента Instance и значения его свойств из потока.
procedure ReadResHeader; Считывает заголовок ресурса компонента из потока
procedure WriteComponent (Instance: TComponent) ; Передает в поток значения свойств компонента Instance
procedure WriteComponentRes (const ResName: string; Instance: TComponent) ; Записывает в поток заголовок ресурса компонента Instance и значения его свойств

Итак, в основе операций считывания и записи данных в потоке лежат методы Read и Write. Именно они вызываются для реального выполнения операции внутри методов ReadBuffer и WriteBuffer, ReadComponent и WriteComponent. Так как класс TStream является абстрактным, то методы Read и write также являются абстрактными. В классах-наследниках они перекрываются, обеспечивая работу с конкретным физическим носителем данных.

Листинг 1 - создание, чтение и запись потока

Var

Stream: TStream; //Объявлениепотока

Begin

Stream := TMemoryStream.Create (...); //Созданиепотока

Stream.Read(...); //Чтение данных из потока

Stream.Write(...); //Запись данных в поток

Stream.Free; //Очистить поток

End;

Группа методов обеспечивает чтение и запись из потока ресурса компонента. Они используются при создании компонента на основе данных о нем, сохраненных в формате файлов ресурсов. Для чтения ресурса используется метод ReadComponentRes, в котором последовательно вызываются: метод ReadResHeader — для считывания заголовка ресурса компонента из потока; метод ReadComponent — для считывания значений свойств компонента. Для записи ресурса в поток применяется метод writeComponentRes.


2. Поток T FileStream

Объект TFileStream яв

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Курсовые работы по информатике и программированию Южно-Сахалинский институт экономики, права и информатики Кафедра КТиС Пояснительная записка к курсовой работе по дисциплине: Языки
Оценок: 1000 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru