Delphi транслит
Простая функция транслита в delphi.
function Translit(s: string): string; |
const |
rus: string = 'абвгдеёжзийклмнопрстуфхцчшщьыъэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ' ; |
lat: array [1..66] of string = ( 'a' , 'b' , 'v' , 'g' , 'd' , 'e' , 'yo' , 'zh' , 'z' , 'i' , 'y' , 'k' , 'l' , 'm' , 'n' , 'o' , 'p' , 'r' , 's' , 't' , 'u' , 'f' , 'kh' , 'ts' , 'ch' , 'sh' , 'shch' , '' '' , 'y' , '' '' , 'e' , 'yu' , 'ya' , 'A' , 'B' , 'V' , 'G' , 'D' , 'E' , 'Yo' , 'Zh' , 'Z' , 'I' , 'Y' , 'K' , 'L' , 'M' , 'N' , 'O' , 'P' , 'R' , 'S' , 'T' , 'U' , 'F' , 'Kh' , 'Ts' , 'Ch' , 'Sh' , 'Shch' , '' '' , 'Y' , '' '' , 'E' , 'Yu' , 'Ya' ); |
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 ; |
для более серьезных проектов лучше использовать iconv :))
Поделись с друзьями:
Опубликовано 15.12.2011 в 13:16 · Автор komivlad · Ссылка
Рубрики: Delphi, Programming · Теги: delphi, транслит
Рубрики: Delphi, Programming · Теги: delphi, транслит