Конвертирование русского в латиницу на Delphi

Discussion in 'PHP' started by Utochka, 14 May 2006.

  1. Utochka

    Utochka Elder - Старейшина

    Joined:
    21 Dec 2005
    Messages:
    495
    Likes Received:
    106
    Reputations:
    54
    Это отрывок из моей проги для конвертирования русских букв в латиницу, но возникла проблема обратного конвертирования. Может подскажите наиболее практичный алгоритм. Я придумал кое что но мой код очень запутанный и громоздкий получаеться (.

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

    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;