Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект_лекций.doc
Скачиваний:
18
Добавлен:
26.04.2019
Размер:
1.11 Mб
Скачать

15.3. Текстовые файлы

Структурная организация текстового файла имитирует размещение привычной текстовой информации на бумажном носителе:

  • сам файл – аналог листа бумаги (лист неограниченной длины),

  • каждая запись файла – отдельная строка на листе,

  • запись состоит из последовательности символов (символ – байт),

  • размер (длина) каждой строки – произвольна и может включать от 0 до 255 символов, запись без символов – аналог пустой строки,

  • все записи пронумерованы: сверху вниз (от первой и до последней),

  • строка состоит из последовательности символов, которые номеруются слева направо.

Информация в текстовом виде передается посредством упорядоченной последовательности слов (в частности – чисел), которые разделяются специальными символами – разделителями (чаще всего – пробелами).

Текстовые файлы допускают только последовательный доступ к своему содержимому. Файлы этого типа могут быть открыты либо только для чтения, либо только для записи, причем записи читаются и записываются строго по порядку: от первой к последней.

Битовое содержимое записи текстового файла соответствует структуре переменных типа STRING. Однако информация из текстового файла может быть прочитана и в переменные любого скалярного типа: Real, Integer, Word, Boolean и т.д., но только в том случае - если она представлена соответствующими символами.

Процесс записи информации в текстовый файл аналогичен ранее рассмотренной операции вывода информации (печати) на экран монитора, т.е. допускает использование форматов.

Освоение текстовых файлов не должно вызывать особых трудностей, т.к. мы уже имеем должный опыт работы с файлами этого типа:

  • периферийное устройство клавиатура - постоянно открытый для чтения текстовый файл, обслуживаемый стандартной файловой переменной с именем KBD. Если в универсальных операторах чтения Read и ReadLN вообще не указывать файловую переменную, то чтение данных будет осуществляться именно с клавиатуры,

  • периферийное устройство алфавитно-цифровой экран – постоянно открытый для записи текстовый файл, обслуживаемый стандартной файловой переменной с именем SCR. Если в универсальных операторах записи Write и WriteLN вообще не указывать файловую переменную, то запись данных будет осуществляться только на экран,

  • консольный ввод информации задействует оба этих стандартных файла,

  • тексты набираемых Вами программ (с помощью встроенного редактора turbo.exe) размещаются в типичных текстовых файлах, но со специальным расширением имени PAS, а не TXT.

Пример работы с текстовым файлом:

Program NNN;

Var F: text; S: string; i: integer; R: real; b: Boolean;

BEGIN

Assign(F,’Dann.pas’); ReWrite(F); {связать файловую переменную с файлом под

именем ’Dann.pas’ и открыть файл для записи}

Writeln(F,’Отладочные данные ’); {первая запись в файл содержит информацию,

смысл которой предназначен для человека }

Writeln(13 567.4011 true’); {вторая запись в файл, содержит символы,

которые можно трактовать как значения

переменных стандартных для языка Pascal типов }

I:=55; R:=444.777; b:=false;

Writeln(F,’ i:6, R:10:2,’ ‘,b); {образец записи форматированной информации

в текстовый файл }

Reset(F); {переключение файла в режим чтения}

Readln(F, S); WriteLn(S); {читаем первую запись файла и выводим ее на экран}

Read(F, I, R, b); Writeln(I:5, R:7:1, b); {читаем форматированную информацию

из текстового файла в соответствующие переменные

и тут же печатаем их на экране }

Read(F, I, R, b); Writeln(I, R:7:1, b);

Close(F) {закрываем доступ к файлу}

END.

Результат работы: в текстовом файле с именем Dann.pas будут размещены три записи (содержимое файла можно просмотреть с помощью любого текстового редактора):

Отладочные данные

13 567.4011 true

55 444.78false

На экран монитора будет выведено:

Отладочные данные

13 567.4true

55 444.8false