Транслитерация кириллицы в латыньDelphi , Синтаксис , ПреобразованияТранслитерация кириллицы в латынь
Автор: Дмитриев Сергей { **** UBPFD *********** by delphibase.endimus.com **** >> Транслитерация кириллицы в латынь Преобразование строки вида 'Транслитерация' в 'Transliteratsiya' по правилам ГОСТа Зависимости: System Автор: Дмитриев Сергей, sergeante@mail.ru, ICQ:93240449, Мурманск Copyright: Дмитриев С.А., 2002 Дата: 18 декабря 2002 г. ***************************************************** } function TranslitRus2Lat(const Str: string): string; const RArrayL = 'абвгдеёжзийклмнопрстуфхцчшщьыъэюя'; RArrayU = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ'; colChar = 33; arr: array[1..2, 1..ColChar] 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 i: Integer; LenS: Integer; p: integer; d: byte; begin result := ''; LenS := length(str); for i := 1 to lenS do begin d := 1; p := pos(str[i], RArrayL); if p = 0 then begin p := pos(str[i], RArrayU); d := 2 end; if p <> 0 then result := result + arr[d, p] else result := result + str[i]; //если не русская буква, то берем исходную end; end; Программная функция Delphi, именуемая Код функции состоит из нескольких частей:
Функция возвращает транслитерированный результат в виде новой строки. Альтернативное решение: Вместо использования отдельных массивов для нижнего и верхнего регистра символов можно использовать одиночный массив с обеими случаями. Например:
Затем можно использовать функцию Программный код на Delphi предназначен для транслитерации кириллицы в латынь по правилам ГОСТа. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Преобразования ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |