Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КОНСПЕКТ ЛЕКЦИЙ_(полный вариант).doc
Скачиваний:
120
Добавлен:
09.04.2015
Размер:
1.01 Mб
Скачать

Действия с файлами

Одни и те же файлы могут обрабатывать различные программы. Любые действия с файлами состоят из следующих обязательных операций:

  • открытия файла;

  • чтения или записи обрабатываемых данных:

  • закрытия файла.

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

Оператор open открытия файла

Синтаксис:

OPENимя файлаFOR<режим> AS<#номер_файла>[LEN <длина_записи>]

где

< режим>– режим работы с файлом,

<номер_файла> – целое число от 1 до 255,

# - необязательный знак, предваряющий номер файла,

<длина записи>– по умолчанию - 128 байт для файлов прямого доступа, для файлов последовательного доступа – 512 байт).

Режимы работы с файлами

Этот параметр в QBASICможет иметь одно из следующих значений:

OUTPUT– создает и открывает новый файл для записи в него данных,

APPEND– открывает имеющийся файл для добавления в него новых данных,

INPUT– открывает существующий файл для чтения записанных в нем данных.Если файла нет, то будет выдано сообщение об ошибке.

BINARY - бинарный режим файла. В бинарном режиме можно считывать или записывать информацию в позицию любого байта, используя операторы GET и PUT.

RANDOM- файл открыт в режиме прямого доступа к записям файла.

Если в режиме OUTPUTоткрыть существующий файл, то уже записанные в нем данные будут стерты.

В режиме APPENDновые данные всегда помещаются в конец файла, после последней записи.

Номер файла

Оператор OPEN присваивает открываемому файлу задаваемый номер для более удобного использования в качестве имени файла. Данный номер нельзя присваивать никакому другому файлу, пока файл с этим номером открыт.

Пример:

OPEN “DATA” FOR INPUT AS FILE #2

Этот оператор открывает доступ к уже созданному файлу с именем DATA. Номер файла данных 2. Записи будут считываться из внешней памяти в оперативную память. То есть для чтения.

Пример:

OPEN “READ” FOR OUTPUT AS FILE #1

Этот оператор открывает файл для записи данных (говорят - для. создания набора данных).

Чтение данных из файла прямого доступа и бинарного файла оператором get

Считывает запись из файла в переменную.

Синтаксис:

Get [#]номер_файла [,[номер_записи][, переменная]] ,

где

<номер_файла> - номер открытого файла,

<номер_записи> - номер записи для чтения (для файлов прямого доступа) или позиция байта, где начинается чтение записи (для двоичных файлов),

<переменная> - переменная, используемая для приема данных из файла (обычно определенного пользователем типа данных).

Чтение данных из файла последовательного доступа оператором input

Синтаксис:

INPUT # <номер файла>, <переменные> ,

где

<переменные> - список переменных, куда размещаются считанные данные.

Запись данных в файл прямого доступа и бинарный файл оператором put

PUT записывает содержимое переменной в файл прямого доступа или бинарный файл.

Синтаксис:

PUT #номер_файла[,[номер_записи][, переменная]] ,

Где

<номер_записи> - номер записи (для файлов прямого доступа) или позиция байта (для двоичных файлов), куда будут записаны данные из переменной,

<переменная> - переменная, содержащая данные для записи в файл (обычно определенного пользователем типа данных).

Запись данных в файл последовательного доступа оператором PRINT или WRITE

Синтаксис:

PRINT # <номер_файла>, <выражения>

WRITE # <номер_файла>,< выражении>я ,

где

< выражения> - список констант и/или переменных, значения которых записываются в файл.

Результаты работы операторов одни и те же. Операторы записывают данные в таком виде, чтобы они могли быть считаны оператором INPUT.

Пример:

CLS

INPUT "Введите имя файла: ", n$

OPEN n$ FOR OUTPUT AS #1

PRINT #1, "Это хранится в файле"