Вывод данных в текстовый файл
Ввод данных с клавиатуры
При вводе данных с клавиатуры с помощью операторов Read символы, по мере нажатия клавиш, помещаются в специальный строковый буфер. Максимальная длина буфера ввода при работе с клавиатурой составляет 127 символов. Буферизация позволяет редактирование вводимой строки до нажатия клавиши Enter. Сам символ 'Enter' в буфер не помещается. При нажатии клавиш осуществляется их отображение на экран ПК (эхо-контроль символов). Из буфера в программу строка передается только после нажатия клавиши Enter.
После ввода данных с клавиатуры процедурой Read или Readln клавиша Enter устанавливает курсор в начало следующей строки; при этом предыдущие строки перемещаются на одну строку вверх, а бывшая верхняя строка экрана становится невидимой (уходит с экрана).
Из одной программы одновременно можно использовать несколько файловых переменных для ввода данных с клавиатуры, т. е. к клавиатуре можно подключить несколько файлов программы: например, файл Input и файл F программы. Для этого F — файловой переменной программы надо назначить экран с помощью Assign и открыть его для чтения: Assign (F, ''); Reset (F) ;
Операторы ввода данных с клавиатуры при этом могут быть в виде:
Read (А, В, С ) ; - для ввода из файла INPUT;
Read (F, D, Е ); - для ввода из файла F; D, Е - переменные.
Процедуры Write и Writeln
Вывод данных в текстовый файл осуществляется в основном для просмотра и подготовки к печати результатов работы программы. Вывод данных производится с помощью процедур Write и Writeln. Форма обращения к процедуре Write:
где файловая-переменная - имя текстового файла, переменная, которая должна быть типа TEXT и связана с файлом или логическим устройством с помощью процедуры Assign;
список-данных - список, содержащий одно и более выражений, (в том числе констант или имен скалярных переменных, элементов массива или записи) и управляющие коды. Результатом выражений могут быть значения типа CHAR, STRING, BOOLEAN или арифметические целого или вещественного типа, и форматы для их размещения в выводном текстовом файле. Форматы в списке данных необязательны. С их помощью можно формировать выходные документы в требуемой форме. Например:
Write(F, А, В, С) ; - в файл F выводятся значения переменных А, В, С;
Write (А, В, С ) ; - для вывода А, В, С в стандартный файл Output.
Здесь файловая переменная F должна быть определена как переменная типа TEXT и связана с именем файла или логическим устройством процедурой Assign. Если файл должен быть создан, его надо открыть процедурой Rewrite. Если он был создан и закрыт, а его надо дополнить, то он должен быть открыт процедурой Append (см. разд. 3.1).
Если в качестве файла используется экран, то в общем случае (без применения средств стандартного модуля CRT), вывод производится в нижнюю строку экрана. А по ее заполнении (в строке экрана размещается 80 символов) содержимое экрана автоматически поднимается вверх и вывод продолжается в нижнюю строку экрана. "Поднять" строки экрана, т. е. перевести курсор при выводе на следующую строку, можно с помощью процедуры Writeln.
Если при выводе на экран длина значений, выводимых с помощью процедуры Write, превышает длину строки экрана (80 символов), то по достижении конца строки вывод данных автоматически продолжается на следующей строке экрана. При выводе в текстовый файл длина его строки равна 248 символам.
Процедура Writeln идентична процедуре Write за исключением того, что выводимая строка завершается кодом конца строки: EOLN. При этом на экране курсор переходит в начало следующей строки, а ранее сформированные строки поднимаются вверх на одну строку. При выполнении процедуры Writeln без списка данных в файл передается только признак EOLN.