Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по VB. Часть2.doc
Скачиваний:
24
Добавлен:
02.02.2015
Размер:
870.4 Кб
Скачать

10.2. Операции с файлами

После открытия файла с ним можно выполнять различные операции – читать из него информацию или, наоборот, записывать в него данные. Операции ввода/вывода заканчиваются при закрытии файла. После закрытия файл можно переименовать, скопировать и удалить.

Направление передачи данных (чтение или запись) определяется относительно оперативной памяти: чтение – это передача данных из файла в оперативную память, а запись, наоборот, – из оперативной памяти в файл.

При открытии файла указатель файла устанавливается на начало первой записи. При чтении записи данные копируются в оперативную память, указатель файла перемещается на начало следующей записи. При записывании в файл данные из оперативной памяти копируются в файл в поле записи, в начале которой находится указатель файла.

В отличие от массива, в котором количество элементов задается заранее, в файле количество записей произвольное. Оно заранее не задается и ограничивается только размерами диска. В конце файла (после последней записи) операционная система помещает маркер конца файла. Новые записи добавляются в файл после последней записи, при этом маркер конца файла отодвигается дальше. Попытка прочитать запись после конца файла приводит к ошибке.

Для определения конца файла используется функция EOF(n), где n – номер канала ввода/вывода. С помощью этой функции можно определить достигнут ли конец файла. Если “Да”, то значением функции является True, в противном случае – False. Название функции происходит от сокращения английских слов End Of File (конец файла).

10.3. Режимы доступа

Передача данных может производится в одном из трех режимов:

  • Последовательно (Sequential);

  • Произвольно (Random);

  • Двоичными данными (Binary).

Последовательный доступ предполагает помещение элементов (записей) в файл по принципу “последующий за предыдущим”. В таком же порядке осуществляется и чтение элементов из файла – вначале читается первый элемент, затем второй, далее третий и т.д. Двадцать первый элемент может быть прочитан только после двадцатого. Последовательный доступ чаще всего применяется для работы с текстовыми файлами, т. е. файлами, элементы которых записаны в виде символов. Каждый элемент может иметь произвольную длину. Поэтому они разделяются специальным символом. Действия в режиме последовательного доступа аналогичны работе с аудиозаписями на кассете в магнитофоне.

В отличие от магнитофона, записи на грампластинках или компакт-дисках могут воспроизводиться в порядке, который укажет пользователь. Такой режим доступа к данным называется произвольным. В нем каждый элемент имеет строго фиксированную длину и свой номер в файле. Поэтому в любой момент времени можно добраться к нужному месту на диске и прочитать оттуда информацию, или наоборот записать данные. Причем при записи последующие данные не будут повреждены, поскольку длина каждого элемента строго фиксирована. В качестве элементов данных в файлах с произвольным доступом используют пользовательский тип данных.

Рисунки, аудио и видеозаписи, готовые к выполнению приложения хранятся на дисках в двоичном виде. Чтение и запись таких объектов осуществляется по частям (блоками байтов). Для работы с такими данными файл должен быть открыт в режиме двоичных данных.

Современные базы данных содержат информацию всех трех видов. Информация о том, какие данные помещены в базу (наименование полей и их типы), содержится в текстовом виде в заголовке базы данных, сами данные (значения текстовых и числовых полей) представляются записями пользовательского типа данных, а рисунки, клипы и другие объекты – в виде двоичных полей.

Поскольку на практике для экономических приложений наибольший интерес представляют данные, хранящиеся в виде записей, далее более подробно будет рассмотрен произвольный режим доступа. Используемые здесь примеры лежат в основе работы с базами данных экономического характера.