Это отрывок из моей проги для конвертирования русских букв в латиницу, но возникла проблема обратного конвертирования. Может подскажите наиболее практичный алгоритм. Я придумал кое что но мой код очень запутанный и громоздкий получаеться (. Проблемы возникают с русскими буквами которые в латинице пишуться двумя. Code: procedure TForm1.RzBitBtn1Click(Sender: TObject); begin if memo1.Text='' then begin application.MessageBox('Нет текста для конвертирования','Ошибка',mb_ok+mb_iconinformation); exit; end; result:=''; ProgressBar1.Position:=0; memo2.Clear; for i:=1 to length(Memo1.text) do begin for j:=1 to length(EngLet) do begin //проверяем ни знак ли какой if znak[j]=memo1.Text[i] then begin Result:=Concat(Result,znak[j]); break; end; //проверяем не пробел ли if memo1.Text[i]=' ' then begin Result:=Concat(Result,' '); break; end; //конвертируем if Ruslet[j]=Memo1.text[i] then begin form1.ProgressBar1.Max:=length(memo1.Text); form1.ProgressBar1.Position:=i; Result:=Concat(Result,englet[j]); break; end; end; // else Result:=Concat(Result, Memo2.text[i]); end; memo2.Lines.Add(result); end;