Здесь мы познакомимся с процедурамии, организующими ввод/вывод информации.
Процедура Write
Процедура Read
1. Запись в файл. Под записью в файл понимается вывод результатов
работы программы из оперативной памяти компьютера в файл. Запись данных в файл выполняется
процедурой Write. Ее общий вид:
Write(<имя файловой переменной>,<список переменных>);
Список переменных - имена тех переменных, разделённых запятыми,
значения которых помещаются в файл.
Проиллюстрируем использование этой процедуры на конкретном примере. Составим программу, размещающую в файл 10 целых чисел. Текст программы может быть следующим:
Program Pr1; Var k: File of Integer; i,a:Integer; Begin {Связываем файловую переменную k с файлом DAN.DAT.} Assign(k,'DAN.DAT'); Rewrite(k); {Пересоздаем файл для записи.} For i:=1 To 10 Do Begin Writeln(i,'- й элемент: '); Readln(a); {Вводим число.} Write(k,a); {Записываем текущее число в файл.} End; Close(k); {Закрываем файл.} End.
В этой программе процедура Assign связывает переменную k с файлом DAN.DAT, который пересоздаётся при выполнении процедуры Rewrite. В цикле осуществляется ввод значений в переменную a, значение которой затем помещается в файл с помощью процедуры Write.
2. Чтение из файла. Под чтением из файла понимается пересылка данных
из файла в оперативную память. Чтение данных из файла выполняется процедурой Read,
общий вид которой следующий:
Read (<имя файловой переменной>, <список переменных>);
Список переменных - это имена тех переменных, разделённых запятыми,
в которые помещаются элементы файла. Типы переменных и элементов файла
должны совпадать.
Проиллюстрируем использование этой процедуры на конкретном примере. Составим программу, вывода из файла, содержащего целые числа, первых десяти чисел. Приведем текст программы:
Program Pr2; Var k: File of Integer; i,a:Integer; Begin {Связываем файловую переменную k с файлом DAN.DAT.} Assign(k,'DAN.DAT'); Reset(k); {Открываем файл для чтения.} For i:=1 To 10 Do Begin Read(k,a); {Считываем текущее число из файла.} Writeln(i,'- й элемент: ',a); {Выводим его на экран.} End; Close(k); {Закрываем файл.} End.
Однако у внимательного читателя, наверное, возникли вопросы подобного типа: откуда
компьютер знает, какое значение из файла нужно прочитать в данный момент; "знает" ли
компьютер о том, есть ли еще элементы в файле и т.п. Ответы на эти и другие вопросы
(хотя бы частично) можно получить, изучив материал следующего шага.
На следующем шаге мы разберем, что такое "файловый указатель".