RUS <-> ENG
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Игорь Столяров
- Ветеран движения
- Сообщения: 7384
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 49 раз
RUS <-> ENG
Привет всем !
Не хочу изобретать велосипед.
Подскажите пожалуйста, существует где-нибудь готовый метод для конвертации строк,
набранных в неправильной раскладке. Причём можно даже без детектирования.
То есть юзер хотел набрать "мышь белая", но из-за неправильной раскладке ввёл "vsim ,tkfz".
и что бы можно было быстро это конвертнуть в русскую раскладку ввода (и наоборот).
Заранее спасибо !
Не хочу изобретать велосипед.
Подскажите пожалуйста, существует где-нибудь готовый метод для конвертации строк,
набранных в неправильной раскладке. Причём можно даже без детектирования.
То есть юзер хотел набрать "мышь белая", но из-за неправильной раскладке ввёл "vsim ,tkfz".
и что бы можно было быстро это конвертнуть в русскую раскладку ввода (и наоборот).
Заранее спасибо !
За теми кто отстал - не возвращаться. (С) Кодекс
- Admin
- Администратор
- Сообщения: 3960
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
RUS <-> ENG
Вот на коленке сделал:
Код: Выделить всё
PROGRAM
MAP
convert2(string str, byte direction),string
END
CODE
message(convert2('Ghbvth yf heccrjv zpsrt фтв щт Утпдшыр!', 3))
convert2 procedure(string str, byte direction)!,string
str1 string('йцукенгшщзхъфывапролджэячсмитьбюё')
str2 string('qwertyuiop[]asdfghjkl;''zxcvbnm,.`')
c long
l long
p long
code
l = len(clip(str))
loop c = 1 to l
case direction
! russian to english = 1
of 1
p = instring(lower(str[c]),str1,1,1)
if p
if str[c] = lower(str[c])
str[c] = str2[p]
else
str[c] = upper(str2[p])
end
end
! english to russian = 2
of 2
p = instring(lower(str[c]),str2,1,1)
if p
if str[c] = lower(str[c])
str[c] = str1[p]
else
str[c] = upper(str1[p])
end
end
! toggle language = 3
of 3
p = instring(lower(str[c]),str1,1,1)
if p
if str[c] = lower(str[c])
str[c] = str2[p]
else
str[c] = upper(str2[p])
end
else
p = instring(lower(str[c]),str2,1,1)
if p
if str[c] = lower(str[c])
str[c] = str1[p]
else
str[c] = upper(str1[p])
end
end
end
end
end
return str
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
RUS <-> ENG
Рассказать юзеру, например, про Punto Switcher или Keyboard Ninja. Или отсюда подобрать...
http://punto-switcher.su/faq/analog-windows/
Ну и в нужных полях явным образом устанавливать кириллическую раскладку, само собой...
http://punto-switcher.su/faq/analog-windows/
Ну и в нужных полях явным образом устанавливать кириллическую раскладку, само собой...
- Игорь Столяров
- Ветеран движения
- Сообщения: 7384
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 49 раз
RUS <-> ENG
Спасибо ! Сейчас попробую. Про пунты - понятно, но это дополнительный чужой софт и т.д.
За теми кто отстал - не возвращаться. (С) Кодекс
RUS <-> ENG
Пунта с CW10 как-то не уживается, курсор теряется, а без неё скучно как-то... А Нинзю ставил юзерам когда-то. Благодарили
- Admin
- Администратор
- Сообщения: 3960
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
RUS <-> ENG
Я в некоторых случая у поля ввода показываю текущий язык
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Игорь Столяров
- Ветеран движения
- Сообщения: 7384
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 49 раз
RUS <-> ENG
Круто ! Но это ведь как-то надо обновлять при переключении раскладки, в т.ч. и в неактивных окнах.
Рассылать по потокам и обрабатывать события … Уф ...
За теми кто отстал - не возвращаться. (С) Кодекс
- Admin
- Администратор
- Сообщения: 3960
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
RUS <-> ENG
Вы это себе тут нафантазировалиИгорь Столяров писал(а): ↑28 Июнь 2018, 10:44Но это ведь как-то надо обновлять при переключении раскладки, в т.ч. и в неактивных окнах.
Это редкий случай применения.
Типа, поле для поиска товара у службы поддержки. И поиск динамически фильтрует очередь по подстроке.
Так что тупо на таймере висит.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Игорь Столяров
- Ветеран движения
- Сообщения: 7384
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 49 раз
RUS <-> ENG
Спасибо, всё работает, но потребовался небольшой допил.
Английское: ><RF в русскую ЮБКА не переводилось.
За теми кто отстал - не возвращаться. (С) Кодекс
RUS <-> ENG
А как отобразить русский текст в списке темплейтов или списке процедур app-шника для Clarion10. Например, при редактировании темплейта нормальный русский заголовок, а в списке темплейтов - кракозябры. В Tools-Options все посмотрел, но нужной настройки не нашел.
Заранее благодарю.
Заранее благодарю.
-
- ✯ Ветеран ✯
- Сообщения: 1014
- Зарегистрирован: 08 Июль 2005, 6:48
- Откуда: Россия
- Поблагодарили: 1 раз
RUS <-> ENG
Последний раз редактировалось Ал 13 Сентябрь 2018, 20:50, всего редактировалось 1 раз.
RUS <-> ENG
clarion.envAndreyH писал(а): ↑13 Сентябрь 2018, 20:45А как отобразить русский текст в списке темплейтов или списке процедур app-шника для Clarion10. Например, при редактировании темплейта нормальный русский заголовок, а в списке темплейтов - кракозябры. В Tools-Options все посмотрел, но нужной настройки не нашел.
Заранее благодарю.
! Default Environment file for Clarion.exe
CLASYSTEMCHARSET=204
CLACHARSET=WINDOWS
CLACOLSEQ=WINDOWS
CLADIGRAPH=
CLACASE=WINDOWS
CLAMON=
CLAMONTH=
CLAAMPM=
CLAMSG=
CLABUTTON=
CLALAYOUT=