Классификация типов файлов
Основы работы с файлами
Трудно переоценить умение работать с файлами, ведь это одна из наиболее часто встречающихся в программировании задач. По большому счету можно утверждать, что вся работа компьютера сводится к манипуляциям с файлами, а точнее данными, содержащимися в них. Практически любая создаваемая программа (кстати, тоже как минимум состоящая из одного файла)должна взаимодействовать с файловой системой компьютера и, более того, осуществлять базовые операции ввода-вывода (I/O routines).
Что понимается под операциями ввода-вывода? Это действия, связанные с созданием нового или открытием существующего файла, с операциями чтения из файла и записью в него информации, с копированием, перемещением и удалением файла и т. д. Кроме того, в системе Windows умение работать с файлами весьма пригодится при обращении к именованным каналам, почтовым слотам и сокетам.
Данная глава посвящена основным приемам работы с файлами и файловой системой. Прежде чем перейти к основному материалу, стоит отметить, что в библиотеке визуальных компонентов VCL среды программирования Delphi реализован целый спектр компонентов, значительно упрощающих организацию доступа к каталогам и файлам (см. главу 14 «Диалог с Windows»). Вместе с тем ряд элементов управления инкапсулирует методы, предоставляющие программисту достаточно совершенный механизм загрузки и сохранения данных. К ним относятся мемо-поле TMemo, расширенный текстовый редактор TRichEdit, рисунок TImage, списки TListBox и TComboBox и еще достаточно обширный перечень компонентов, изучаемых в дальнейших главах.
Классификация типов файлов
Прежде чем приступить к изучению базовых операций ввода-вывода, немного времени посвятим вопросу систематизации типов файлов. Программисты, работающие на языке Pascal (впрочем, как и приверженцы подавляющего большинства других языков программирования), все существующие типы файлов разделяют на три направления:
1. Текстовые файлы.
2. Типизированные файлы.
3. Двоичные (нетипизированные) файлы.
Как следует из названия, текстовый файл специализируется на хранении текстовой информации, представленной в символах ASCII. Как правило, такие файлы снабжаются специфичным только для них расширением .txt и могут быть открыты любым текстовым редактором, начиная с простейшего Блокнота и заканчивая популярным текстовым процессором Microsoft Word.
Работа с любым типом файла в языке Pascal требует определения так называемой файловой переменной, которая будет выступать в качестве аргумента во многих методах ввода-вывода. Способ объявления файловой переменной определяется типом файла, на который будет указывать наша переменная. Например, подготовка переменной для работы с текстовым файлом выглядит следующим образом:
var MyFile : TextFile;
В отличие от узкоспециализированного текстового файла, типизированный файл предназначен для работы с данными, определяемыми программистом.
В качестве них могут выступать как любые целые, вещественные, символьные, логические и строковые типы данных, так и записи, состоящие из только что перечисленных типов.
var F : file of <тип файла>;
Приведем пример объявления трех файловых переменных, нацеленных на работу c файлами целых чисел, вещественных чисел и записей соответственно.
var Int_File : file of Integer; //файл типа Integer
Real_File : file of Real; //файл типа Real
Record_File : file of TPoint; //файл для работы с записями типа TPoint
Синтаксис языка Pascal не запрещает создание типизированных файлов массивов, хотя в общем-то файл сам по себе является массивом.
Если в определении типизированного файла используются строковые данные string, то необходимо определить количество символов, которое планируется хранить в одной записи. Ограничение указывается в квадратных скобках после ключевого слова string[xx].
Самый универсальный формат файла – двоичный. Это файлы графики, аудио и видеофайлы, электронные таблицы, HTML-файлы. Короче говоря, все существующие файлы. Как видите, текстовые и типизированные файлы представляют собой частный случай двоичного файла.
Для объявления файловой переменной двоичного файла применяют следующий синтаксис:
var DataFile: File;
Нетипизированные файлы очень часто используются при решении задач, в которых нет необходимости анализа содержимого этих файлов, например в операциях копирования или перемещения файла.
Типом файла определяются особенности применения методов, реализующих базовые операции ввода-вывода.
Дата добавления: 2016-03-15; просмотров: 2555;