Неверов Евгений Викторович
Меню сайта
Категории раздела
Программирование на языке Паскаль [27]
В данной категории представлены новые функции, созданные на языке Паскаль, которые могут пригодиться при написании своих программ
Программирование на Delphi [18]
В данной категории представлены полезные подпрограммы, которые могут пригодиться при написании своих программ, а также рассматриваются примеры готовых проектов, создаваемых в среде программирования Delphi
Программирование на HTML [0]
В данной категории рассматриваются примеры готовых проектов, создаваемых на языке HTML
Прочее [0]
Свободная тематика
Мини-чат
200
Наш опрос
Как Вы думаете, сколько времени люди проживут на Земле?
Всего ответов: 32
Статистика

Рейтинг@Mail.ru
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Программирование на языке Паскаль [ Добавить статью ]

Транслитерация

1. Определение символа как русской или английской буквы, цифры


type TTranslit = (Ru, En, Num, Sym);

function Translit(s: char): TTranslit;
begin
   Result:=Sym;
   If (s>='А') and (s<='я') or (s='ё') or (s='Ё') then
      Result:=Ru;
   If (s>='A') and (s<='z') then
      Result:=En;
   If (s>='0') and (s<='9') then
      Result:=Num;
end;

где

s - исходный символ.

Например, Translit('5') выведет значение типа Num.


2. Проверка английских букв в строке


function TranslitEn(s: string): boolean;
var i: integer;
begin
   Result:=false;
   For i:=1 to Length(s) do
      If Translit(s[i])=En then
         Result:=true;
end;

где

s - исходная строка.

Например, TranslitEn('куb') выведет положительное значение.


3. Проверка русских букв в строке


function TranslitRu(s: string): boolean;
var i: integer;
begin
   Result:=false;
   For i:=1 to Length(s) do
      If strTranslit(s[i])=Ru then
         Result:=true;
end;

где

s - исходная строка.

Например, TranslitRu('domiно') выведет положительное значение.


4. Замена транслируемых символов с английского языка на русский


function TranslitEnRu(s: string): string;
begin
   s:=SimwolZamenit(s, 'sch', 'щ', false, false);
   s:=SimwolZamenit(s, 'ch', 'ч', false, false);
   s:=SimwolZamenit(s, 'sh', 'ш', false, false);
   s:=SimwolZamenit(s, 'ts', 'ц', false, false);
   s:=SimwolZamenit(s, 'ya', 'я', false, false);
   s:=SimwolZamenit(s, 'ye', 'э', false, false);
   s:=SimwolZamenit(s, 'yi', 'ы', false, false);
   s:=SimwolZamenit(s, 'yo', 'ё', false, false);
   s:=SimwolZamenit(s, 'yu', 'ю', false, false);
   s:=SimwolZamenit(s, 'zh', 'ж', false, false);
   s:=SimwolZamenit(s, 'a', 'а', false, false);
   s:=SimwolZamenit(s, 'b', 'б', false, false);
   s:=SimwolZamenit(s, 'v', 'в', false, false);
   s:=SimwolZamenit(s, 'w', 'в', false, false);
   s:=SimwolZamenit(s, 'g', 'г', false, false);
   s:=SimwolZamenit(s, 'd', 'д', false, false);
   s:=SimwolZamenit(s, 'e', 'е', false, false);
   s:=SimwolZamenit(s, 'z', 'з', false, false);
   s:=SimwolZamenit(s, 'i', 'и', false, false);
   s:=SimwolZamenit(s, 'j', 'й', false, false);
   s:=SimwolZamenit(s, 'k', 'к', false, false);
   s:=SimwolZamenit(s, 'l', 'л', false, false);
   s:=SimwolZamenit(s, 'm', 'м', false, false);
   s:=SimwolZamenit(s, 'n', 'н', false, false);
   s:=SimwolZamenit(s, 'o', 'о', false, false);
   s:=SimwolZamenit(s, 'p', 'п', false, false);
   s:=SimwolZamenit(s, 'r', 'р', false, false);
   s:=SimwolZamenit(s, 's', 'с', false, false);
   s:=SimwolZamenit(s, 't', 'т', false, false);
   s:=SimwolZamenit(s, 'u', 'у', false, false);
   s:=SimwolZamenit(s, 'f', 'ф', false, false);
   s:=SimwolZamenit(s, 'h', 'х', false, false);
   s:=SimwolZamenit(s, 'c', 'ц', false, false);
   s:=SimwolZamenit(s, '''''', 'ъ', false, false);
   s:=SimwolZamenit(s, 'y', 'ы', false, false);
   s:=SimwolZamenit(s, '''', 'ь', false, false);
   s:=SimwolZamenit(s, '`', 'ь', false, false);
   Result:=s;
end;

где

s - исходная строка.

Например, TranslitEnRu('Chislo') выведет 'Число'.


5. Замена транслируемых символов с русского языка на английский


function TranslitRuEn(s: string): string;
begin
   s:=SimwolZamenit(s, 'а', 'a', false, false);
   s:=SimwolZamenit(s, 'б', 'b', false, false);
   s:=SimwolZamenit(s, 'в', 'v', false, false);
   s:=SimwolZamenit(s, 'г', 'g', false, false);
   s:=SimwolZamenit(s, 'д', 'd', false, false);
   s:=SimwolZamenit(s, 'е', 'e', false, false);
   s:=SimwolZamenit(s, 'ё', 'yo', false, false);
   s:=SimwolZamenit(s, 'ж', 'zh', false, false);
   s:=SimwolZamenit(s, 'з', 'z', false, false);
   s:=SimwolZamenit(s, 'и', 'i', false, false);
   s:=SimwolZamenit(s, 'й', 'j', false, false);
   s:=SimwolZamenit(s, 'к', 'k', false, false);
   s:=SimwolZamenit(s, 'л', 'l', false, false);
   s:=SimwolZamenit(s, 'м', 'm', false, false);
   s:=SimwolZamenit(s, 'н', 'n', false, false);
   s:=SimwolZamenit(s, 'о', 'o', false, false);
   s:=SimwolZamenit(s, 'п', 'p', false, false);
   s:=SimwolZamenit(s, 'р', 'r', false, false);
   s:=SimwolZamenit(s, 'с', 's', false, false);
   s:=SimwolZamenit(s, 'т', 't', false, false);
   s:=SimwolZamenit(s, 'у', 'u', false, false);
   s:=SimwolZamenit(s, 'ф', 'f', false, false);
   s:=SimwolZamenit(s, 'х', 'h', false, false);
   s:=SimwolZamenit(s, 'ц', 'ts', false, false);
   s:=SimwolZamenit(s, 'ч', 'ch', false, false);
   s:=SimwolZamenit(s, 'ш', 'sh', false, false);
   s:=SimwolZamenit(s, 'щ', 'sch', false, false);
   s:=SimwolZamenit(s, 'ъ', '''''', false, false);
   s:=SimwolZamenit(s, 'ы', 'y', false, false);
   s:=SimwolZamenit(s, 'ь', '''', false, false);
   s:=SimwolZamenit(s, 'э', 'ye', false, false);
   s:=SimwolZamenit(s, 'ю', 'yu', false, false);
   s:=SimwolZamenit(s, 'я', 'ya', false, false);
   Result:=s;
end;

где

s - исходная строка.

Например, TranslitRuEn('Дрожжи') выведет 'Drozhzhi'.

Примечание. Для полноценной работы данных функций необходимо скопировать функцию "Замена символа или фразы на новое значение":

function SimwolZamenit(s, simwol_star, simwol_now: string; Registr_star, Registr_now: boolean): string;
Категория: Программирование на языке Паскаль | Добавил: newerow1989 (12.03.2016 11:12 )
Просмотров: 439 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Все смайлы
Код *:
Поиск
Друзья сайта
  • Создать сайт
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Все проекты компании
  • Copyright MyCorp © 2018
    Автор этого сайта: Неверов Евгений Викторович

    Мои координаты
    Бесплатный конструктор сайтов - uCozЯндекс.Метрика