Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.31;
Скачать: CL | DM;

Вниз

Как узнать изменение раскладки клавы?   Найти похожие ветки 

 
Stunt   (2006-12-12 20:19) [0]

Имеется текстовый файл с единственной строкой, в нем есть русские и буржуйские символы, как узнать изменилась ли раскладка клавы при переходе с предыдущего символа на следующий + нужно узнать об изменении регистра


 
Desdechado ©   (2006-12-12 20:29) [1]

Если буржуйские с умляутами, то там раскладкамогла с французской на немецкую перейти. Это в расчет берется?
Можно проверять символы на вхождение в определенный диапазон кодов: больших/маленьких, русских/немецких/американских...


 
Stunt   (2006-12-12 20:31) [2]

Нет, буржуйские - значит на инглише

Как их проверять на вхождение в диапазон кодов?


 
alex810 ©   (2006-12-12 20:32) [3]


if GetKeyboardLayout(GetWindowThreadProcessId(GetForegroundWindow, nil)) = 67699721 then
 //раскладка английская
else
 //раскладка НЕанглийская, например 68748313 соответствует русской

Узнать текущую раскладку клавиатуры в любом активном окне
возвращает числовое значение соответственно установленной раскладке


 
$Pl@Sh ©   (2006-12-12 20:34) [4]


> alex810 ©   (12.12.06 20:32) [3]


мне не надо в активном окне, мне требуется в текстовом файле :-)
мож я что не понимаю


 
alex810 ©   (2006-12-12 20:37) [5]

Извеняюсь до конца не дочитал вопрос.


 
$Pl@Sh ©   (2006-12-12 20:37) [6]

Блин, засветился :-)


 
Zeqfreed ©   (2006-12-12 20:47) [7]

В файлах не бывает раскладки. Если я правильно понял, то что-то навроде:

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:55) [8]


> В файлах не бывает раскладки

Правильно. Может кодировку?


 
Zeqfreed ©   (2006-12-12 20:59) [9]


> Правильно. Может кодировку?

Не-а. Ещё одна попытка :)



Страницы: 1 вся ветка

Текущий архив: 2006.12.31;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
15-1165830392
Kolan
2006-12-11 12:46
2006.12.31
Есть ли встроеный рефакторинг изменить продедуру на функцию?


2-1166095689
KyRo
2006-12-14 14:28
2006.12.31
События клавиатуры


15-1165836418
IMHO
2006-12-11 14:26
2006.12.31
Слово о Rapidshare


2-1165735440
intel
2006-12-10 10:24
2006.12.31
Здравствуйте


2-1165860520
M1sT
2006-12-11 21:08
2006.12.31
Как и где правильно хранить пароль администратора программы?