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

Вниз

Переключение раскладки   Найти похожие ветки 

 
Alex_Sudakov   (2002-10-10 11:07) [0]

Господа, подскажите алгоритм, по которому работают програмки типа KeyboardNinja или PuntoSitcher. Которые раскладку автоматически переключают...


 
AL2002   (2002-10-10 11:35) [1]

>Alex_Sudakov © (10.10.02 11:07)
А что, долго её переключать, что ли?
Сам изюм в том, чтобы когда надо переключать.


 
REA   (2002-10-10 11:38) [2]

алгоритм то как раз и есть ноу-хау


 
Alex_Sudakov   (2002-10-10 11:55) [3]

Но ведь реализаций данного алгоритма уже множество, так не ужели он все еще остается ноу-хау? :)


 
cosinus   (2002-10-10 12:12) [4]

Как написано в описании PuntoSitcher: "Программа работает, используя принцип невозможности сочетаний некоторых букв для русского и английского языков ". По-моему попробовать можно, начав с того, что написать утилиту, которая тупо считает все слоги в тексте и заносит их в какую либо базу, после чего пропустить через это сито тексты по разной тематике и на разных языках( rus eng, сесенно :). Потом уже начинать писать собственно программу переключения раскладки, которая, правда, на первых порах будет переключать только заведомо бред( типа йцущш) , но начинать то с чего то надо :), а дальше ставить уже другие условия, создавать словарик слов-"исключений" и т.д. и т.п. Возникает лишь один вопрос, стоит ли это таких усилий? Ж:)


 
AL2002   (2002-10-10 12:18) [5]

>стоит ли это таких усилий? Ж:)
Не стоит. Такое уже есть.


 
Alex_Sudakov   (2002-10-10 17:20) [6]

Ну и как реализовать то что уже есть?! :))) Блин, вы еще посоветуйте реализовать это через нейронные сети...:(


 
Fog   (2002-10-10 17:44) [7]

Я окончу твои страдания:

procedure TForm1.Button1Click(Sender: TObject);
{
Переключение на русский язык
}
var
Layout: array [0.. KL_NAMELENGTH] of Char;
begin
LoadKeyboardLayout( StrCopy(Layout,"00000419"),KLF_ACTIVATE);
end;

procedure TForm1.Button2Click(Sender: TObject);
{
Переключение на английский язык
}
var
Layout: array [0.. KL_NAMELENGTH] of char;
begin
LoadKeyboardLayout(StrCopy(Layout,"00000409"),KLF_ACTIVATE);
end;


 
Alex_Sudakov   (2002-10-11 11:14) [8]

Блин. Спасибо конечно, но ты не пробовал вопрос читать. перед тем как на него отвечать? Там же сказано,автоматически!!! :(


 
Fog   (2002-10-11 11:25) [9]


> Alex_Sudakov

Ну как делать автоматически уж сам решай, попробуй какиенибудь сообщения ловить... А то что делает PuntoSwitcher меня, честно говоря, иногда раздрожает. Например он незнает таких сочетаний как FPS и RPG, и еще моного каких, а все записовать в словарь лень... Так что я его не использую больше. А чтобы не ошибаться в раскладке лучше просто разные звуки для рус и англ делать...


 
Alex_Sudakov   (2002-10-11 18:06) [10]

И все же, господа, не ужели ни кто не может подсказать такой алгоритм?
Не верю! (с) Станиславский :)


 
AL2002   (2002-10-11 18:52) [11]

>Alex_Sudakov © (11.10.02 18:06)
Да чего ты от людей то хочешь? Ставишь хук на клаву. И подбиваешь словарик.
С отсылкой сообщений окнам придётся помучаться. Да и с остальным тоже.


 
Alex_Sudakov   (2002-10-15 12:18) [12]

Мне нужно переключать раскладку только в моей программе.
ЗЫ Каким образом формирутся такой словарик?


 
Dr_Mike   (2002-10-15 12:43) [13]

> cosinus © (10.10.02 12:12) По-моему попробовать можно, начав с того, что написать утилиту, которая тупо считает все слоги в тексте и заносит их в какую либо базу, после чего пропустить через это сито тексты по разной тематике и на разных языках( rus eng, сесенно :)

Плюс не забыть про соответствия раскладок. Потом просто делаешь обратный частотный анализ и что еще тебе нужно ?


 
Alex_Sudakov   (2002-10-15 18:18) [14]

Вау. К сожалению, мне явно не хватает образования. :) Реализация обратного частотного анализа на бале словаря слогов - вещь для меня не доступная. Если не сложно, пример кода бы увидеть...:)


 
AL2002   (2002-10-15 18:29) [15]

>Alex_Sudakov © (15.10.02 18:18)
Считывай в массив вводимые символы до пробела. После пробела сравнивай со словарём. При абракадабре выкусывай из контрола весь текст и заменяй в нём абракадабру на нужное и вставляй назад.
Это я так это себе представляю.


 
AlexKniga   (2002-10-15 19:20) [16]

Це знаешь?
http://lib.ru/CYRILLIC/recode.txt

"cyrillic recode"
Яндекс рулез!



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

Форум: "Основная";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
1-78470
garyboy
2002-10-12 18:37
2002.10.24
Как нетопорно удалить элемент <b>динамического массива</b>


4-78704
Grombl
2002-09-10 22:23
2002.10.24
---|Ветка была без названия|---


1-78490
alxx
2002-10-13 13:39
2002.10.24
Переход фокуса


1-78457
Rouse_
2002-10-08 19:03
2002.10.24
Раскрытие ветви TreeView


1-78347
AL2002
2002-10-14 14:57
2002.10.24
RichEdit.SelAttributes





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский