2.8.5.Считывание данных из текстового файла (продолжение).
Считывание данных из текстового файла, если известно количество записей в нем не представляет особых трудностей. Однако как поступать, если заранее неизвестно количество записей находящихся в текстовом файле? Вы знаете, что если заранее неизвестно количество действий, то нужно использовать циклы с нефиксированным количеством действий. При описании свойств текстового файла как было отмечено в п.п. 2.8.2, в конце файла записывается код (признак) конца файла. Тогда, считывание данных должно происходить до тех пор, пока не встретится признак конца файла. Если файл был изначально пуст, то есть, в нем нет записей, то нельзя будет произвести считывание данных. Исходя из выше изложенного, можно заключить, что надо использовать цикл с предусловием. Для определения признака конца файла используется процедура EOF(NameVar), сокращенное от английского EndOf File (конец файла). В скобках указывается имя переменной связанной с конкретным файлом с помощью процедуры assign(). Процедура EOF(NameVar) имеет значение - False(Ложь) если конец файла не достигнут, и значение - True(Истина) если достигнут конец файла. Таким образом, при использовании цикла с предусловием, он будет выполняться пока условие Not EOF(NameVar) будет истинным, то есть пока не будет достигнут конец файла. В этом случае текст подпрограммы ввода данных будет выглядеть следующим образом:
procedure Init;
var
{объявление имени переменной как текстового файла}
FileIn : text;
begin
{связь переменной с конкретным именем файла}
assign (FileIn, ‘mayFile1.in’);
{открытие файла для чтения}
reset(FileIn);
{установка счетчика в начальное значение}
Kolichestvo:=0;
Достарыңызбен бөлісу: |