Работа с текстовыми файлами (примеры программ).
Пример 3.
Программа вводит текст с клавиатуры и записывает его в ТЕКСТОВЫЙ файл.
--- Текст программы ----
Program FileWrite;
uses crt; {или tpcrt или убрать textattr:=$1b; Clrscr; из программы}
Var s: String; {строка для хранения введенного текста}
fi1: Text; {fi1 - переменная для работы с файлом (файловая переменная)}
Begin textattr:=$1b; {цвет фона= $1, цвет текста=$b}
clrscr; {очистка экрана}
s := '--- начало ----';
Assign(fi1,'Mytext.txt'); {связываем fi1 с файлом 'Mytext.txt'}
Rewrite(fi1); {Создаем на диске пустой файл Mytext.txt, готовим его для записи}
While s <> '' do {цикл для записи в файл. Выполняется, если s не пустая}
{ т е используем пустую строку как признак конца записи текста
для ввода пустой строки просто нажать Enter.}
begin writeln(fi1,s);{записываем в файл строку s}
writeln('Введите строку текста для записи в файл ');{это выводится на экран}
Readln(s);{Строку текста, набранную клавиатурой, сохраняем в переменной s }
writeln(fi1,s); {записываем строку s в файл }
end; {здесь кончается цикл. Повторяем цикл - если s<>''
(т е Переходим на строку while )}
Close(fi1); {Закрываем файл. На этом работа заканчивается}
End.
-- Результат работы програмы (файл Mytext.txt) можно просмотреть текстовым
редактором (или программой FileRead - см далее).
Пример 4.
Программа 4 читает строки текста из файла Mytext.txt и выводит их на экран.
--- Текст программы ----
Program FileRead;
uses crt; {или tpcrt или убрать textattr:=$1b; Clrscr; из программы}
Var s: String; {строка для хранения прочтенного текста}
fi1: Text; {fi1 - переменная для работы с файлом (файловая переменная)}
Begin textattr:=$1b; Clrscr;
Assign(fi1,'Mytext.txt'); {связываем fi1 с файлом 'Mytext.txt'}
ReSet(fi1); {Создаем на диске пустой файл, готовим его для чтения, т е
ставим файловый указатель на начало файла}
While not eof(fi1) do {цикл для чтения файла. Выполняется, пока не дойдем
до конца файла (eof - end of file )}
begin readln(fi1,s);{читаем из файла строку s}
writeln(s);{ выводится на экран строка s }
end; {здесь кончается цикл. Переходим на новый цикл (т е на строку while )}
Readln;{Ожидаем нажатия клавиши Enter, чтобы увидеть результат работы
программы}
Close(fi1); {Закрываем файл. На этом работа заканчивается}
End.
Пример 5.
Программа вводит текст с клавиатуры и ДОПИСЫВАЕТ его в ТЕКСТОВЫЙ файл,
т е дополняет файл.
--- Текст программы ----
Program FileAppend;
uses crt; {или tpcrt или убрать textattr:=$1b; Clrscr; из программы}
Var s: String; {строка для хранения введенного текста}
fi1: Text; {fi1 - переменная для работы с файлом (файловая переменная)}
Begin textattr:=$1b; clrscr; s := 'продолжение';
Assign(fi1,'Mytext.txt'); {связываем fi1 с файлом 'Mytext.txt'}
Append(fi1); {готовим файл для добавления новых записей }
While s <> '' do {цикл для записи в файл. Выполняется, если s не пустая}
{ т е используем пустую строку как признак конца записи текста
для ввода пустой строки просто нажать Enter.}
begin writeln(fi1,s);{записываем в файл строку s}
writeln('Введите строку текста для записи в файл ');{это выводится на экран}
Readln(s);{Строку текста, набранную клавиатурой, сохраняем в переменной s }
writeln(fi1,s); {записываем строку s в файл }
end; {здесь кончается цикл. Переходим на новый цикл (т е на строку while )}
Close(fi1); {Закрываем файл. На этом работа заканчивается}
End.