Показать сообщение отдельно
  #12  
Старый 21.06.2015, 00:17
shamsiev shamsiev вне форума
Прохожий
 
Регистрация: 20.06.2015
Сообщения: 8
Версия Delphi: Delphi
Репутация: 10
По умолчанию

Попробовал так:
Код:
function Translit(s: string): string;
const
  rus: string = 'qwertyuiopasdfghjklzxcvbnm';
  lat: array[1..26] of string = ('й', 'ц', 'у', 'к', 'е', 'н', 'г', 'ш', 'щ', 'з', 'ф', 'ы', 'в', 'а', 'п', 'р', 'о', 'л', 'д', 'я', 'ч', 'с', 'м', 'и', 'т', 'ь');
var
  p, i, l: integer;
begin
  Result := '';
  l := Length(s);
  for i := 1 to l do
  begin
    p := Pos(s[i], rus);
    if p<1 then Result := Result + s[i] else Result := Result + lat[p];
  end;
end;

но проблема в том что не передается раскладка, то есть какой бы регистр не был все равно будут маленькие. Есть еще варианты?
Ответить с цитированием