Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  3 787

•  TDictionary Custom Sort  5 902

•  Fast Watermark Sources  5 700

•  3D Designer  8 473

•  Sik Screen Capture  6 036

•  Patch Maker  6 480

•  Айболит (remote control)  6 472

•  ListBox Drag & Drop  5 337

•  Доска для игры Реверси  94 940

•  Графические эффекты  6 677

•  Рисование по маске  5 797

•  Перетаскивание изображений  4 859

•  Canvas Drawing  5 235

•  Рисование Луны  4 958

•  Поворот изображения  4 504

•  Рисование стержней  3 186

•  Paint on Shape  2 431

•  Генератор кроссвордов  3 306

•  Головоломка Paletto  2 619

•  Теорема Монжа об окружностях  3 402

•  Пазл Numbrix  2 248

•  Заборы и коммивояжеры  2 908

•  Игра HIP  1 878

•  Игра Go (Го)  1 792

•  Симулятор лифта  2 130

•  Программа укладки плитки  1 857

•  Генератор лабиринта  2 296

•  Проверка числового ввода  1 983

•  HEX View  2 293

•  Физический маятник  1 956

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Транслитерация кириллицы в латынь



Автор: Дмитриев Сергей

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







Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте