![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Транслит [D7, WinXP]
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]что значит "нормальный"???