Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Транслит [D7, WinXP]


Страницы:   1 2 3 4

Greenchel ©   (2006-11-08 22:06:00) 

Существует строка вида: Ghbdtn
Как перевести в нормальный вид?


Percent   (2006-11-08 23:22:00) [61]

И лучше использовать ASCII коды в качестве индексов массива. Один массив для преобразования ru -> en. Другой - для en -> ru. Тогда поиска не надо будет. Код символа будет индексом.


Percent   (2006-11-08 23:19:00) [62]

Так и задавай русские буквы в массиве ru, а английские - в массиве en.

en[24] := '''';
ru[24] := 'э';


Percent   (2006-11-08 23:17:00) [63]

И еще.
Используй константный массив.
Типа такого:

const
 Digits: array[0..9] of Char = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');


(С) Borland Delphi Help


Greenchel   (2006-11-08 23:15:00) [64]

так мне это... на знаке <'> буква <Э>


Percent   (2006-11-08 23:14:00) [65]

Потому что у тебя там кавычка незакрытая.
Напиши:

ru[24]:= ''''; {четыре одиночных кавычки}


Greenchel   (2006-11-08 23:09:00) [66]

var ru: array[1..33] of string;
en: array[1..33] of string;
begin
ru[1]:= 'q';
ru[2]:= 'w';
ru[3]:= 'e';
ru[5]:= 'r';
ru[6]:= 't';
ru[7]:= 'y';
ru[8]:= 'u';
ru[9]:= 'i';
ru[10]:= 'o';
ru[11]:= 'p';
ru[12]:= '[';
ru[13]:= ']';
ru[14]:= 'a';
ru[15]:= 's';
ru[16]:= 'd';
ru[17]:= 'f';
ru[18]:= 'g';
ru[19]:= 'h';
ru[20]:= 'j';
ru[21]:= 'k';
ru[22]:= 'l';
ru[23]:= ';';
ru[24]:= ''';
ru[25]:= 'z';
ru[26]:= 'x';
ru[27]:= 'c';
ru[28]:= 'v';
ru[29]:= 'b';
ru[30]:= 'n';
ru[31]:= 'm';
ru[32]:= ',';
ru[33]:= '`';
end;

Создал такой массив, а он не хочет пропускать ru[24], в чём дело? :(


Greenchel   (2006-11-08 22:50:00) [67]

Ок, попробую сейчас


Percent   (2006-11-08 22:47:00) [68]

тебе же не надо обрабатывать несимвольные клавиши

читать как "тебе же не надо обрабатывать символьныеклавиши"


Percent   (2006-11-08 22:46:00) [69]

я тоже самое написал выше

Я скопировал.

Кто-нибудь может хотя-бы на примере 1 буквы показать метод реализации?

Ты же правильно все написал.
Реализовывай.
Что-то не получится - спрашивай.
А ты, я так понимаю, хочешь, чтобы за тебя это сделал кто-то другой.

Подсказка: Задай матрицу трансформации символов [0..1, 0..104], где 0..1 - количество вариантов, 0..104 - количество клавиш на 105 кнопочной клавиатуре (их в твоей программе будет меньше - тебе же не надо обрабатывать несимвольные клавиши); числа могут отличаться, в зависимости от твоих потребностей. Когда надо будет преобразовать строку, в цикле пройдись по всем символам этой строки, и для каждого символа найди соответствие в матрице трансформации, а потом замени символ в строке на ассоциированный  символ.


Desdechado   (2006-11-08 22:45:00) [70]

> Кто-нибудь может
Может.

А ты не хочешь изложить код СВОИХ попыток?


Greenchel   (2006-11-08 22:37:00) [71]


> надо создать массив, а затем согласно массиву заменять буквы

я тоже самое написал выше :)
Кто-нибудь может хотя-бы на примере 1 буквы показать метод реализации?


Percent   (2006-11-08 22:35:00) [72]

Вот как реализовать вот эту замену?

надо создать массив, а затем согласно массиву заменять буквы


Greenchel   (2006-11-08 22:22:00) [73]

В общем во всех чатах такая вещь именуется "2RUS".
Насколько мне известно надо создать массив, а затем согласно массиву заменять буквы:
"Q" => "Й"
"W" => "Ц"
"E" => "У" и т.д.
Вот как реализовать вот эту замену?


Desdechado   (2006-11-08 22:20:00) [74]

Это НЕ транслит.
Транслит - это vot takie slova.
А у тебя что-то не то.
Хотя можешь составить таблицу соответствия. Но помни, чтоне у всех qwerty-клавиатуры.


Greenchel   (2006-11-08 22:17:00) [75]

Ghbdtn = Привет
Gjrf = Пока
(Руские слова написаны английскими буквами)


Dmitrij_K   (2006-11-08 22:15:00) [76]

что значит "нормальный"???


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо