Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi.Начало.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.56 Mб
Скачать

Задание для самостоятельной работы

Добавьте еще несколько планет в нашу солнечную систему.

Контрольные вопросы

  1. Какие данные позволяет описать тип данных запись?

  2. Что такое класс? Что такое объект?

  3. Из каких основных элементов состоит объект в Delphi?

  4. Чем поля объекта отличаются от полей записи?

  5. Что такое свойство и чем оно отличается от поля?

  6. Как реализованы методы объектов в Delphi?

  7. Перечислите основные принципы объектно-ориентированного програм­миро­ва­ния.

  8. Что такое инкапсуляция? Как в Delphi реализована инкапсуляция?

  9. Что такое наследование? Какой объект в Delphi является общим предком всех объектов?

  10. Что такое полиморфизм?

Занятие 14. Работа с файлами

При работе с файлами в Delphi возможны два разных подхода. Первый состоит в использовании стандартных подпрограмм, которые имелись уже в классической версии Pascal. Второй подход использует объектный подход при работе с файлами.

Общая технология работы с файлами в Delphi

Независимо от используемого подхода технология работы с файлами в Delphi требует определенного порядка действий.

  1. Прежде всего, файл необходимо открыть. Это значит, что можно вносить изменения в этот файл, при этом обращения других пользователей и программ к этому файлу будут выполняться корректно. Например, считывание данных из файла, в который другой пользователь вносит изменения, невозможно. При открытии задается режим открытия файла: для чтения или для изменения. Указывается также, какова внутренняя структура открываемого файла, для того, чтобы выполнять операции с ним максимально быстро. После успешного открытия файла в программу возвращается его идентификатор – переменная, которая будет использо­ваться для идентификации этого файла во всех процедурах обработки.

  2. Непосредственная работа с файлом, это может быть считывание данных из него, либо изменение данных, либо поиск.

  3. Файл закрывается. Это значит, что он снова доступен другим приложениям. Кроме того, закрытие файла гарантирует, что внесенные в него изменения не пропадут.

Стандартный подход к работе с файлами

Можно работать с файлом на низком уровне, не рассматривая его структуру, считывая данные побайтно, в этом случае файл называется нетипизированным. Часто файл может иметь регулярную структуру, например, в каждой записи файла хранится информация об учащемся школы. Такой файл называется типизированным. Файлы могут также хранить какой-либо текст – это текстовые файлы. Для того, чтобы можно было работать с файлом необходимо связать с ним файловую переменную. Описание такой переменной зависит от вида файла.

Описание файловой переменной

Нетипизированная файловая переменная объявляется c помощью ключевого слова File, например:

Var F:File

Нетипизированная файловая переменная позволяет работать с файлами на низком уровне (структура файла неизвестна). При этом данные будут записываться и считы­ваться блоками по 128 байт (значение по умолчанию). Размер блока можно изменить в момент открытия файла. Рекомендуется назначать этот размер равным 1 байту, чтобы корректно обрабатывать файлы любой структуры.

Типизированные файлы – это файлы, состоящие из последовательности одинаковых записей. Для работы с ними применяется следующая форма описания:

Var <имя-переменная>: File of <тип>

В качестве типа можно указывать тип, для которого известен фиксированный размер в байтах, к таким типам относятся все базовые типы, а также тип данных запись, статические массивы и т.д. Например, объявляется тип запись TMyFile и файловая переменная F:

Type TMyFile = record

Name : string[20];

Ochki : integer;

End;

Var F: File of TMyFile;

Текстовые файлы связываются с файловыми переменными, принадлежащими к стандартному типу TextFile. Текстовые файлы предназначены для хранения текстовой информации. Текстовый файл трактуется как совокупность строк переменной длины. Доступ к каждой строке возможен лишь последовательно, начиная с первой. Пример объявления:

Var F1 : TextFile;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]