Потоки TStream, TFileStream, TMemoryStream » Українські реферати
Теми рефератів
Авіація та космонавтика Банківська справа Безпека життєдіяльності Біографії Біологія Біологія і хімія Біржова справа Ботаніка та сільське гос-во Бухгалтерський облік і аудит Військова кафедра Географія
Геодезія Геологія Держава та право Журналістика Видавнича справа та поліграфія Іноземна мова Інформатика Інформатика, програмування Історія Історія техніки Комунікації і зв'язок Краєзнавство та етнографія Короткий зміст творів Кулінарія Культура та мистецтво Культурологія Зарубіжна література Російська мова Маркетинг Математика Медицина, здоров'я Медичні науки Міжнародні відносини Менеджмент Москвоведение Музика Податки, оподаткування Наука і техніка Решта реферати Педагогіка Політологія Право Право, юриспруденція Промисловість, виробництво Психологія Педагогіка Радіоелектроніка Реклама Релігія і міфологія Сексологія Соціологія Будівництво Митна система Технологія Транспорт Фізика Фізкультура і спорт Філософія Фінансові науки Хімія Екологія Економіка Економіко-математичне моделювання Етика Юриспруденція Мовознавство Мовознавство, філологія Контакти
Українські реферати та твори » Информатика, программирование » Потоки TStream, TFileStream, TMemoryStream

Реферат Потоки 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; Копіює з потоку Source Count байти, починаючи з поточної позиції. Повертає число скопійованих байтів 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 є нащадком головного об'єкта TStream і дозволяє отримати доступ до диску, а так само створити потік для роботи з файлами. При цьому потік працює з файлом без урахування типу зберігаються в ньому даних.

Повний ім'я файлу, який треба відкрити, задається в параметрі FileName. Цей параметр - проста рядок:

constructor Create (const FileName: string; Mode: Word);

Параметр Mode визначає режим роботи з файлом. Він складається з прапорів режиму відкриття: fmCreate - файл створюється; fmOpenRead - файл відкривається для читання; fmopenwrite - Файл відкривається для запису; fmOpenReadWrite - файл відкривається для читання і запису.

І прапорів режиму спільного використання:

fmShareExciusive - Файл недоступний для відкриття іншими додатками;

fmShareDenyWrite - Інші програми можуть читати дані з файлу;

fmShareDenyRead - Інші програми можуть писати дані у файл;

fmShareDenyNone - Інші програми можуть виробляти з файлом будь-які операції. Створення потоку аналогічно прикладу, розглянутому в лістингу 1.

Детальніше познайомимося з методами читання, запису і внутрішньою структурою файлу. Почнемо зі структури. Коли ви відкрили файл, позиція курсору встановлюється в саме початок і будь-яка спроба читання або запису буде відбуватися в цю позицію курсору. Якщо вам треба прочитати або записати в будь-яку іншу позицію, то треба пересунути курсор. Для цього використовується Метод Seek. "Точка відліку "позиції залежить від значення параметра

Origin: soFromBeginning - зміщення повинно бути позитивним і відлічується від почата потоку;

soFromCurrent - Зсув щодо поточної позиції в потоці;

soFromEnd - Зміщення повинно бути негативним і відлічується ві...


Страница 1 из 2Следующая страница

Друкувати реферат
Замовити реферат
Товары
Наверх Зворотнiй зв'язок