Для обработки содержимого текстового файла необходимо получить доступ к его компонентам. Для этого следует выполнить следующее:
Ø присвоить файлу имя (процедура Assign);
Ø открыть файл для чтения (процедура Reset)
Ø прочитать компонент файла (оператор readln);
Ø обработать компонент (например, распечатать);
Ø закрыть файл (процедура Close).
Распечатать все компоненты файла, созданного в предыдущем примере. Имя процедуры распечатки Obrt. Текст процедуры сохранить на диске под именем TObrt.
Procedure Obrt
begin
{$I-} {отмена контроля операций ввода-вывода}
repeat
Write ('Дайте имя выводного файла: ');
Readln (FileName);
Assign( Stro, Fi1eName) ;
Reset (Stro);
until (IOResult = 0) or ( FileName= ’ zzz' ) ;
{$I+}{включение контроля операций ввода-вывода}
while not SeekEof (Stro) do
begin
Readln ( Stro, S); {чтение из файла}
WriteIn (S)
end
end;
Корректировка заключается в расширении текстового файла новыми компонентами.
Для этого необходимо:
Ø присвоить файлу имя (процедура Assign);
Ø открыть файл для внесения новых компонентов (процедура Append);
Ø записать новые компоненты (процедура Writeln);
Ø закрыть файл (процедура Close).
Расширить ранее созданный файл новыми компонентами. Если значение строки равно ‘ zzz’, прекратить запись. Имя процедуры расширения Rasht. Текст процедуры сохранить на диске под именем ТRasht.
Procedure Rasht;
begin
{$I-} {отмена контроля операций ввода-вывода}
repeat
writeln ('Имя корректируемого файла: ');
readln (FileNam);
Assign( Stro, Fi1eName);
Append(Stro) ;
until IOResult = 0;
{$I+} {включение контроля операций ввода-вывода}
while True do
begin
writeln (‘ Вводите строку:');
readln (S);
if S = ‘zzz’ then
begin
Close( Stro);
Exit
end;
` writeln (Stro,S)
end
Если каждый из приведенных фрагментов оформлять отдельной программой, появляется много неудобств с вызовом и настройкой программ на конкретное имя файла. Поэтому для работы с текстовыми файлами лучше оформить все функциональные блоки как процедуры и вызывать их из управляющей программы, выбирая из меню нужные режимы работы.
Объединить функциональные блоки по созданию, обработке и расширению текстовых файлов в одной программе. Имя файла запрашивать у пользователя. Если при обработке и расширении указанный файл на диске не найден, запросить имя заново.