Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Стандартные файловые переменные Input и Output. Назначение, открытие и закрытие файлов






Работа с файлом включает:

- инициализацию файловой переменной - установление связи файловой переменной с файлом;

- открытие файла - подготовку файла для выполнения операций ввода/вывода;

- обработку компонентов файла - выполнение операций ввода-вывода;

- закрытие файла (при повторном открытии файл закрывается автоматически).

Инициализация файловой переменной. Связь между физическим устройством (дисководом или внешним устройством) и файловой переменной устанавливается специальной процедурой.

Процедура Assign (Var f; st: string)инициализирует файловую переменную f, связывая ее с файлом или логическим устройством, определенным строкой st.

Если файл находится в текущем каталоге, то достаточно указать имя файла и его расширение. В противном случае необходимо указать полное имя файла, например:

Type FI1 = file of integer;

Var f1, f2, f3: FIl;

Assign (f1, 'F1.dat'); {связывание файловой переменной с файлом в текущем каталоге}

Assign (f2, 'd: \iva\a.dat'); {связывание файловой переменной с файлом в указанном каталоге}

Assign(f3, 'CON'); {связывание файловой переменной с консолью}

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

1. Процедура ReSet(Var f) - открывает файл, определенный файловой переменной f для чтения. При выполнении этой процедуры указатель файла устанавливаеся на первый компонент файла (физически первый блок записей считывается в буфер). Логическое устройство в этом случае готовится к выполнению операций ввода.

При открытии для чтения несуществующего файла регистрируется ошибка выполнения, а функция IOResult типа Word возвращает значение, отличное от 0. Отключив контроль операций ввода-вывода и используя функцию IOResult можно организовать проверку наличия файла с указанным именем на диске:

Var f: file of char;

Begin

Assign(f, 'a.dat'); {инициализация файловой переменной}

{$ I-} {отмена контроля ошибок ввода –вывода}

ReSet (f); {открытие файла для чтения}

{$ I+} {включение контроля ошибок}

If IOResuLt < > 0 then WriteLn ('Файл не существует')

else WrileLn('Фauл существует');...

2. Процедура ReWrite(Var f) открывает файл, определенный файловой переменной f, для записи. При открытии для записи существующего файла старый файл уничтожается без предварительной проверки и выдачи предупреждения пользователю. Если файла с таким именем не существовал, то он создается и подготавливается к записи (физически очищается буфер). Логическое устройство при этом подготавливается к приему информации.

3. Процедура AppEnd(Var f: text) - открывает текстовый файл, определенный файловой переменной f, для добавления строк.

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

Любой программе без объявления, инициализации файловой переменной и открытия доступны два файла со стандартными файловыми переменными:

§ INPUT - чтение со стандартного устройства ввода;

§ OUTPUT - вывод на стандартное устройство вывода.

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

Стандартным устройством ввода MS DOS по умолчанию является клавиатура. Стандартным устройством вывода - экран дисплея.

Примечание. Мри необходимости эти устройства можно переназначить средствами операционной системы. Так, для организации ввода данных из файла вместо ввода с клавиатуры необходимо запустить программу из командной строки MS DOS, указав после имени программы символ «<» и имя файла, а для организации вывода в файл вместо вывода на экран - символ «>» и имя файла. Можно перенаправить только ввод или только вывод или и то и другое сразу.

Например:

A: \> example.exe < a.dat > a.res - ввод из файла a.daе, а вывод в файл а.rez.

Такое переназначение будет выполнено, если к программе не используется модуль crt, который организует операции ввода-вывода напрямую, непосредственно взаимодействуя с устройством.

Обработка компонентов файла. Основные операции над компонентами - это операции записи и чтения. На базе этих операций выполняют более сложные операции:

- создание файла - занесение в файл требуемых записей:

- модификация файла- изменение всех или нескольких записей, добавление и удаление записей;

- поиск нужной информации в файле.

Выполнение -этих операций осуществляется по-своему для каждого типа файла.

Закрытие файла. Закрытие файла, открытого для записи или чтения, осуществляется процедурой






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.