С помощью операторов read и readln можно читать данные из текстового файла, но делать это нужно с осторожностью.
Оператор read считывает данные до разделителя, разделителем считается пробел, табуляция или конец строки (для чисел), при этом указатель файла остается
перед концом строки.
readln считывает строку целиком и ставит указатель файла
после символа конца строки.
Отсюда следует, что если при
чтении текстового файла дважды вызвать read подряд, произойдет следующее: первый read дойдет до конца строки и остановится там, второй read начнет читать данные, но в качестве данных считает тот же конец строки и
остановится на том же месте, ничего не считав.
Таким образом,
read при чтении из текста подходит, если нужно читать числа, записанные в несколько колонок через разделитель (пробел или табуляцию).
При этом, после каждой операции чтения следует проверять, не повстречался ли в файле конец строки (функция eoln()) и если повстречался, перейти на следующую, с помощью вызова readln.
При этом,
читать строки с помощью read нельзя, для этого существует readln.
Это описание соответствует тому, что описано в руководстве к очень старой версии Паскаля. Современные компиляторы могут вести себя неправильно.