Для выполнения операций с конкретным файлом, размещенным на диске, в
программе обычно используется так называемая файловая переменная.
Структура описания файловой переменной:
Var <имя переменной>: file of <тип переменной>;
Файловая переменная после описания связывается с не¬которым файлом,
после чего операции, выполняемые с ней, приводят к со-ответствующим
изменениям в файле.
Assign (<имя файловой
переменной>,<идентификатор внешнего файла>); - организует
связь между файловой переменной и внешним файлом.
После выполнения всех операций связь между файловой переменной и файлом
разрывают, и файловая переменная может повторно связываться с любым
другим файлом этого же типа.
Для того чтобы начать ввести в файл данные, его следует открыть для
записи. Это обеспечивает процедура Rewrite
(FV) ; где fv — имя файловой переменной. При этом
указатель устанавливается на на¬чало файла. Если в файле есть
информация, то она исчезает. Запись в файл осуществляется процедурой Write ( fv, v); где v —
переменная того же типа, что и файл fv. Запись происходит туда, где
установлено окно (указатель). Сначала записывается значение, затем
указатель смещается в следующую позицию.
Подведем итог сказанному. Для создания и заполнения файла требуется
следующая последовательность действий:
1. Описать файловую переменную.
2. Описать переменную того же типа, что и файл.
3. Произвести назначение (Assign).
4. Открыть файл для записи (Rewrite).
5. Записать в файл данные (write).
6. Закрыть файл (Close).
Пример:
Создать файл, содержащий среднесуточные темпера¬туры за некоторое
количество дней. При этом необязательно пред-варительно указывать
количество чисел во вводимой информации. Можно договориться о каком-то
условном значении, кото¬рое будет признаком конца ввода. Пусть,
например, признаком конца ввода будет число 9999.
Program Таski;
Var
Ft: File Of Real; T: Real;{описываем файловую переменную}
Begin
Assign(Ft,'Temp.dat');{связываем файл с файловой переменной}
Rewrite(Ft); WriteLn('Вводите данные. Признак конца -9999');
ReadLn (T) ;
While T<>9999 Do Begin
Write (Ft,T) ; {записываем переменную Т в файл Ft}
Write('?');
ReadLn(T)
End;
WriteLn('Ввод данных закончен!');
Close(Ft)
End.