1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Помогите с распознованием введённого текста

Тема в разделе "Delphi - программирование", создана пользователем Rendll, 17 фев 2009.

  1. Rendll

    Rendll Гость

    Репутация:
    0
    Уважаемые программисты, подскажите как сделать контроль раскладки клааивтуры. У меня есть программма текстовый редактор, в ней нужно сделать возможность отображать язык ввода текущего текста. Тоесть мы вводим в Richedit текст, буквы, и во время того как вводим, оно в статус баре или в одельном поле выводит текущий язык ввода. Пожалуйсто в примерах еси можна. И если возможно, то сделать переключатель языка, русс--> англ.
     
  2. Poseidon

    Poseidon Гость

    Репутация:
    0
    Возможно

    Код:
    function ChangeLayout(LANG: Integer): Boolean;
    var
    Layouts: array [0..16] of HKL;
    i, Count: Integer;
    begin
    Result:=False;
    Count:=GetKeyboardLayoutList(High(Layouts)+1, Layouts)-1;
    for i:=0 to Count do if (LoWord(Layouts[i]) and $FF) = LANG then
    Result:=ActivateKeyboardLayout(Layouts[i], 0)<>0;
    end;
    Использование

    Код:
    ChangeLayout(LANG_RUSSIAN);
    ChangeLayout(LANG_ENGLISH);

    Текущий язык системы можно получить так:

    Код:
    function WhichLanguage:string;
    var 
    ID: LangID;
    Language: array [0..100] of char;
    begin
    ID := GetSystemDefaultLangID;
    VerLanguageName(ID, Language, 100);
    Result := string(Language);
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Edit1.Text := WhichLanguage;
    end;
     
  3. Vadik(R)

    Vadik(R) Well-Known Member

    Репутация:
    0
    Регистрация:
    12 дек 2007
    Сообщения:
    469
    Симпатии:
    0
    Poseidon, спасибо большое за код, я сам такое долго искал, потому как с функцией LoadKeyboardLayout было толку ноль. А вот узнать язык системы - не работает, всегда пишет что Русский. Хотя судя по коду это не название текущего языка, а это язык по умолчанию, возможно так оно и должно быть.
     
  4. Poseidon

    Poseidon Гость

    Репутация:
    0
    Так тебе нужен язык раскладки клавиатуры? Так бы и сказал.

    Код:
    function GetActiveKbdLayout : LongWord;
    begin
    result:= GetKeyboardLayout(0) shr $10;
    end;
    Думаю сделать ассициации возвращаемый_результат = раскладка сможешь сам.
     
Загрузка...
Похожие Темы - Помогите распознованием введённого
  1. Tayrus
    Ответов:
    2
    Просмотров:
    47
  2. KanycTa
    Ответов:
    1
    Просмотров:
    51
  3. Samyrro
    Ответов:
    1
    Просмотров:
    61
  4. Tayrus
    Ответов:
    0
    Просмотров:
    51
  5. bronnn
    Ответов:
    0
    Просмотров:
    112

Поделиться этой страницей