![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать изменение раскладки клавы?
Stunt © (2006-12-12 20:19:00)Имеется текстовый файл с единственной строкой, в нем есть русские и буржуйские символы, как узнать изменилась ли раскладка клавы при переходе с предыдущего символа на следующий + нужно узнать об изменении регистра
Zeqfreed (2006-12-12 20:59:00) [1]
> Правильно. Может кодировку?
Не-а. Ещё одна попытка :)
alex810 (2006-12-12 20:55:00) [2]
> В файлах не бывает раскладки
Правильно. Может кодировку?
Zeqfreed (2006-12-12 20:47:00) [3]В файлах не бывает раскладки. Если я правильно понял, то что-то навроде:
const
eng = ['a'..'z','A'..'Z'];
lower = ['a'..'z','а'..'я'];
...
if ((str[i] in eng) <> (str[i - 1] in eng)) then ShowMessage('Languages differ');
if ((str[i] in lower) <> (str[i - 1] in lower)) then ShowMessage('Registers differ');
Это как самый примитивный вариант. Ещё кажется были встроенные ф-ции типа IsUpper/IsLower/IsAlpha, можно посмотреть в их сторону.
alex810 (2006-12-12 20:37:00) [4]Извеняюсь до конца не дочитал вопрос.
$Pl@Sh (2006-12-12 20:37:00) [5]Блин, засветился :-)
$Pl@Sh (2006-12-12 20:34:00) [6]
> alex810 © (12.12.06 20:32) [3]
мне не надо в активном окне, мне требуется в текстовом файле :-)
мож я что не понимаю
alex810 (2006-12-12 20:32:00) [7]
if GetKeyboardLayout(GetWindowThreadProcessId(GetForegroundWindow, nil)) = 67699721 then
//раскладка английская
else
//раскладка НЕанглийская, например 68748313 соответствует русской
Узнать текущую раскладку клавиатуры в любом активном окне
возвращает числовое значение соответственно установленной раскладке
Stunt (2006-12-12 20:31:00) [8]Нет, буржуйские - значит на инглише
Как их проверять на вхождение в диапазон кодов?
Desdechado (2006-12-12 20:29:00) [9]Если буржуйские с умляутами, то там раскладкамогла с французской на немецкую перейти. Это в расчет берется?
Можно проверять символы на вхождение в определенный диапазон кодов: больших/маленьких, русских/немецких/американских...