Вот что-то подобное, но только для русских букв - киньте на форму мемо плюс баттон и задайте ему эту процедуру, должно работать
Код:
procedure TForm1.Button1Click(Sender: TObject);
procedure udc (flg: boolean; var ds: char);
const lt: array[0..1] of string = (
'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ',
'абвгдеёжзийклмнопрстуфхцчшщъыьэюя');
var
i: integer;
begin
for i := 1 to Length(lt[0]) do
if flg then
begin
if ds = lt[0][i] then
begin
ds:= lt[1][i];
Exit;
end;
end else
if ds = lt[1][i] then
begin
ds:= lt[0][i];
Exit;
end;
end;
var
i: integer;
s: string;
begin
s:= Memo1.Text;
for i:= Length(s) downto 1 do
if (i > 3) and (i < Length(s)-3) then
if s[i] = '.' then
begin
if s[i+1] = ' ' then
begin
s[i]:= ';';
udc(true, s[i+2]);
s[i+1]:= #10;
Insert(#13,s,i+1);
end;
if (s[i+1] = #13) and (s[i+2] = #10) then
udc(false, s[i+3]);
end;
Memo1.Text:= s;
end;
похоже?