Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2011, 07:54   #1
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию Смена языка

Вот такая проблема..Есть ли в Delphi функция позволяющая изменить кодировку, типа буква 'й' конвертируется в 'q', 'ц' в 'w', и т.п. ?Case'ом как-то не хочется, уж больно много случаев.

Последний раз редактировалось _-Re@l-_; 10.06.2011 в 07:57.
_-Re@l-_ вне форума Ответить с цитированием
Старый 10.06.2011, 08:05   #2
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

копай в строну раскладки клавиатуры или парсирования нажатия клавиш (берешь код нажатой клавиши и записываешь что нужно)
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 10.06.2011, 08:06   #3
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
копай в строну раскладки клавиатуры или парсирования нажатия клавиш (берешь код нажатой клавиши и записываешь что нужно)
Я же сказал, что это не прокатит.
_-Re@l-_ вне форума Ответить с цитированием
Старый 10.06.2011, 08:17   #4
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

тогда просто смени раскладку клавиатуры
Код:
LoadKeyboardLayout('00000409', 1); //смена языка (англ)
LoadKeyboardLayout('00000419', 1);//смена языка (русский)
Или же используй функцию транслита (немного переделав)
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 10.06.2011, 08:19   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

CASE и не надо, что нибудь типа двух массивов соответствия символов друг другу. Кстати, недано совсем тема здесь такая всплывала
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.06.2011, 08:22   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а чем таблица перекодировки не нравится?
Константы с набором данных + Пара строчек кода и задача решена!


Аватар, +1
на три минуты опередил...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.06.2011, 08:24   #7
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
CASE и не надо, что нибудь типа двух массивов соответствия символов друг другу. Кстати, недано совсем тема здесь такая всплывала
Тоже нет.
Цитата:
тогда просто смени раскладку клавиатуры
Тоже не то.

Надо что-то наподобие:
Код:
x : char; 
/////

x:=RusToEng('й'); // x должно быть равно 'q'
x:=EngToRus('w'); // x = 'ц'

Последний раз редактировалось _-Re@l-_; 10.06.2011 в 08:27.
_-Re@l-_ вне форума Ответить с цитированием
Старый 10.06.2011, 08:34   #8
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

ну Это может то?
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 10.06.2011, 08:37   #9
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Да нет же!
См. пост №7
Т.е. 'qwerty' = 'йцукен'.
_-Re@l-_ вне форума Ответить с цитированием
Старый 10.06.2011, 08:42   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Если перекодировка один в один, то вообще очень просто: две строки одинаковой длины вида 'йцу...' и 'qwe...', в одной по Pos находим, из другой по индексу выдергиваем. Оформляем в выше указанные функции
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена украинского языка на русский zaha Операционные системы общие вопросы 6 21.04.2011 13:25
смена языка Dimarik Visual C++ 2 28.01.2011 22:26
Смена языка) Dmitry96 Общие вопросы Delphi 2 26.12.2010 17:48
Циклы языка С++ ( saammy Общие вопросы C/C++ 8 29.11.2010 21:49
Смена языка Simon..14 Общие вопросы C/C++ 2 31.01.2009 15:06