Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб 10.doc
Скачиваний:
3
Добавлен:
29.08.2019
Размер:
146.94 Кб
Скачать

Текстові файли

Текстові файли зв’язуються з файловими змінними, що належать стандартному типу Text.Текстові файли призначені для зберігання текстової інформації. У таких типах файлах зберігаються початкові тексти програм. Компоненти (записи) текстового файла можуть мати змінну довжину, що суттєво впливає на характер роботи з ними.

Текстовий файл – це сукупність рядків змінної довжини. Доступ до кожного рядка можливий лише послідовно, починаючи з першої. При створенні текстового файла у кінці кожного запису (рядка) ставиться спеціальна ознака Eoln.

Текстові файли є різновидом файлів типу file of char .

Для опису текстових файлів використовується тип Text.

Var TextFile: Text

У текстових файлах окрім ознаки кінця файла Eof використовується ще ознака кінця рядка Eoln. Ознака Eoln являє собою послідовність двох символів коду ASCII - символа з кодом 13 (“возврат каретки”) і символа з кодом 10 (“перевод строки”). Ознака Eof представляється кодом 26 стандарта ASCII.

Текстовий файл можна представити як сторінку книжки, де в кінці кожної сторінки стоїть Eoln.

Для читання використовуються процедури:

Read([f,]<список змінних>)

та

Readln([f,] <список змінних>)

Для запису використовуються процедури:

Write([f,] <список змінних>)

та

Writeln([f,] <список змінних>)

Тут f – файлова змінна, яка повинна бути оголошена, як FILE OF і зв’язана з ім’ям файла процедурою ASSIGN. <список змінних> – список введення (виведення); послідовність з однієї або кількох змінних.

Процедури і функції для роботи з текстовими файлами

Для текстових файлів додатково до інших типів допускається використання таких процедур та функцій:

  • Eoln(f) - повертає TRUE, якщо у вхідному текстовому файлі досягнутий маркер кінця рядка. Якщо параметр відсутній, функція перевіряє стандартний файл INPUT.

  • SeekEof(f) - повертає для текстового файла стан Eof (кінець файла). Якщо параметр відсутній, функція перевіряє стандартний файл INPUT.

  • SeekEoln(f) - повертає для текстового файла стан Eoln (кінець рядка). Якщо параметр відсутній, функція повертає стандартний файл INPUT.

  • SetTextBuf(f)-призначає для текстового файла буфер введення-виведення.

Приклад створення на диску текстового файла і запис в нього тексту.

Program Write_txt_file; {Запис текстового файла на диск}

Type fil=text;

Var F1:fil;

Name: string[12];

Txt: string;

Begin

Write(‘ Введіть ім’я файла для запису текста ‘);

Readln(Name);

Writeln;

Assign(F1,Name);

Rewrite(F1);

Writeln(‘ Введіть текст для запису (для закінчення натисніть Enter ) :’);

Writeln;

Repeat

Write(‘:’);

Readln(Txt);

Writeln(F1,Txt);

Until Txt=’ ‘;

Close(F1);

Writeln;

Writeln(‘ Введення закінчене, натисніть Enter’);

Readln;

End.

Приклад підрахунку загальної кількості символів у файлі і результат ділиться на 40000-таким чином можна оцінити об’єм рукопису у видавничих сторінках.

Var

f: text;

s: string;

const

sum:longint=0; { Змінна для визначення кількості символів}

begin

Write(‘Ім’я фвйла:’);

Readln(s); { Введення імені файла}

Assign(f,s);

Reset(f); {Відкриття файла}

While not EOF(f) do {Підрахунок кількості символів у файлі}

Begin

ReadLn(f,s);

Inc(sum,Length(s))

End;

Close(f); {Закриття файла}

Writeln(‘=’,sum/40000:6:2,’ вид. cтор.’)

End.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]