Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.042 c
15-1166058481
Бугага
2006-12-14 04:08
2006.12.31
«Черную дыру» поймали с поличным


2-1165968733
ph0sgen
2006-12-13 03:12
2006.12.31
Загрузка DLL


2-1166039905
Khabibulin
2006-12-13 22:58
2006.12.31
Закраска в StringGrid


15-1165399919
boriskb
2006-12-06 13:11
2006.12.31
Годовщина победы под Москвой


15-1164881140
Rule
2006-11-30 13:05
2006.12.31
Опять я со своиим вопросами про кроссплатформенность а точнее про





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский