Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Конвертирование русского в латиницу на Delphi (https://forum.antichat.xyz/showthread.php?t=19095)

Utochka 14.05.2006 16:07

Конвертирование русского в латиницу на Delphi
 
Это отрывок из моей проги для конвертирования русских букв в латиницу, но возникла проблема обратного конвертирования. Может подскажите наиболее практичный алгоритм. Я придумал кое что но мой код очень запутанный и громоздкий получаеться (.

Проблемы возникают с русскими буквами которые в латинице пишуться двумя.

Код:

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;



Время: 09:39