![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Стандартные файловые переменные 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, который организует операции ввода-вывода напрямую, непосредственно взаимодействуя с устройством. Обработка компонентов файла. Основные операции над компонентами - это операции записи и чтения. На базе этих операций выполняют более сложные операции: - создание файла - занесение в файл требуемых записей: - модификация файла- изменение всех или нескольких записей, добавление и удаление записей; - поиск нужной информации в файле. Выполнение -этих операций осуществляется по-своему для каждого типа файла. Закрытие файла. Закрытие файла, открытого для записи или чтения, осуществляется процедурой
|