Главная страница
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.056 c
3-1161036521
БогданБ
2006-10-17 02:08
2006.12.31
Как указатель строки DBGridEh SQL запроса сопоставить с базой.


10-1127456027
SupKlo
2005-09-23 10:13
2006.12.31
Как передать array of record


6-1155109077
Kiloper
2006-08-09 11:37
2006.12.31
Как пользоваться функцией POST компонента IdHTTP?


15-1165394136
bmv
2006-12-06 11:35
2006.12.31
quick report для delphi2006


3-1161331615
vvrz
2006-10-20 12:06
2006.12.31
вызов хранимой процедуры MS SQL