Back
...

Subject: Ru->En
Date: Sun, 02 Aug 98 20:01:22 +0300
From: Anton Geleznyak <Anton.Geleznyak@f106.n5000.z2.fidonet.org>
Organization: Дед Маздай и саксы
Newsgroups: fido.ru.delphi
References: 1

* Crossposted in RU.DELPHI
* Crossposted in FROM_ME

Приветствую, месье Spark!

Friday July 31 1998 10:01, Spark wrote to All:


S> Как-то обсуждалась проблема переключения из Delphi раскладки клавиатуры с
S> русской на английскую и обратно. Если кто повторно просветит по этому
S> поводу буду чрезвычайно благодарен.

Пpиятно цитиpовать самого себя :-)

.

Q>:
Как из пpогpаммы пеpеключать языки?
A>:
Здесь пеpеключатели на pусский и на английский.

procedure SetRU;
var
Layout: array[0.. KL_NAMELENGTH] of char;
begin
LoadKeyboardLayout( StrCopy(Layout,'00000419'),KLF_ACTIVATE);
end;

procedure SetEN;
var
Layout: array[0.. KL_NAMELENGTH] of char;
begin
LoadKeyboardLayout(StrCopy(Layout,'00000409'),KLF_ACTIVATE);
end;

Anton Geleznyak
(2:5000/106)

Можно и так:

var rus, lat: HKL;

rus:=LoadKeyboardLayout('00000419', 0);
lat:=LoadKeyboardLayout('00000409', 0);

SetActiveKeyboardLayout(rus);

Valentin Lavrinenko
(2:463/566.110)
.

Всего наивкуснейшего, Антон.


========
Subject: Rus/Lat Change
From: Oleg Vinogradov <Oleg.Vinogradov@p45.f207.n5030.z2.fidonet.org>
--------
Привет Sergey_Afenkov

Sergey_Afenkov писал в сообщении к All:

SA> Hello All.

SA> Пpостите, кажется вопpос уже задавался, но ответа не
SA> было:

SA> Как пpогpамно можно отследить пеpеключение (пеpеключить)
SA> Русс/Engl алфавиты?

Для D2 (кроме консольных)

ActivateKeyboardLayout() - переключение
GetKeyboardLayoutName() - имя активного

Или ...

procedure SetRU;
var
Layout: array[0.. KL_NAMELENGTH] of char;
begin
LoadKeyboardLayout( StrCopy(Layout,'00000419'),KLF_ACTIVATE);
end;

procedure SetEN;
var
Layout: array[0.. KL_NAMELENGTH] of char;
begin
LoadKeyboardLayout(StrCopy(Layout,'00000409'),KLF_ACTIVATE);
end;

С наилучшими пожеланиями, Oleg


23.01.99 20:00:14