Вывод данных в текстовый файл

Ввод данных с клавиатуры

При вводе данных с клавиатуры с помощью операторов 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.