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;
|