Поиск палиндромов (2 уровень)

Условие:
В тексте слова отделяются друг от друга пробелами. После последнего слова стоит точка. Найти все слова-перевёртыши, то есть те, которые читаются одинаково слева-направо и справа-налево.

Технические условия:
Программа должна читать исходные данные из файла input.txt, содержащего исследуемый текст. Файл output.txt должен содержать список всех слов-палиндромов, разделённых пробелами.

Решение:
{Программа читает текст из файла input.txt, удаляет точку в конце предложения, затем переводит текст к нижнему регистру, и с помощью функции Perev логического типа, проверяет, является ли каждое из слов исследуемого текста палиндромом}

var
txt:string;i,n:integer;f:text;
Function Perev(str:string):boolean;
var s:string;k:integer;
begin
s:='';
for k:=length(str) downto 1 do s:=s+str[k];
if s=str then Perev:=True else Perev:=False;
end;
begin
assign(f,'input.txt');
reset(f);
readln(f,txt);
close(f);
for i:=1 to length(Txt) do
begin
case Txt[i] of
'
А'..'П':Txt[i]:=Chr(ord(Txt[i])+32);
'
Р'..'Я':Txt[i]:=Chr(ord(Txt[i])+80);
'A'..'Z':Txt[i]:=Chr(ord(Txt[i])+32);
end;
end;
n:=1;
assign(f,'output.txt');
rewrite(f);
for i:=1 to length(txt) do
begin
if (Txt[i]=' ') or (i=length(txt)) then begin
if Perev(Copy(Txt,n,i-n)) then writeln(f,copy(Txt,n,i-n));n:=i+1;end;
end;
close(f);
end.