Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: CL | DM;

Вниз

Как определить язык Windows   Найти похожие ветки 

 
leonidus   (2005-01-11 08:19) [0]

Проблема в следующем, нужно при запуске программы определить язык ОС, и сразу переключить интерфейс в тот который у юзера по умолчанию установлен, как его определить?


 
Sash ©   (2005-01-11 08:29) [1]

Попробуй сие:

var russian, latin: HKL;

russian:=LoadKeyboardLayout("00000419", 0);
latin:=LoadKeyboardLayout("00000409", 0);

-- -- -- -- -- где то в  программе --- --- ---

SetActiveKeyboardLayout(russian);


 
Sash ©   (2005-01-11 08:31) [2]

или сие:

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;


 
REP ©   (2005-01-11 08:35) [3]


> переключить интерфейс в тот который у юзера по умолчанию
> установлен

Дык если он по умолчанию, то сам должен установиться при запуске


 
Kerk ©   (2005-01-11 08:37) [4]

а причем тут раскладка клавиатуры?


 
Sash ©   (2005-01-11 08:43) [5]

ну ему же нужно переключить язык


 
begin...end ©   (2005-01-11 08:45) [6]

> [5] Sash ©   (11.01.05 08:43)

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


 
Sash ©   (2005-01-11 08:52) [7]

ну так!


 
Kerk ©   (2005-01-11 08:55) [8]

Sash ©   (11.01.05 8:52) [7]
ты вопрос перечитай. где там раскладка упоминается?


 
Sash ©   (2005-01-11 08:55) [9]

затупил :) дошло, сразу как то не подумал толком


 
Семен Сорокин ©   (2005-01-11 09:19) [10]

GetThreadLocale,
GetSystemDefaultLCID


 
leonidus   (2005-01-11 09:40) [11]

Да раскладка клавы это не совем то:)

>Семен Сорокин а можно подробнее?


 
Семен Сорокин ©   (2005-01-11 09:59) [12]

var
 _locale: integer;

_locale := GetThreadLocale;
if _locale = $419 then
// русская
else if _locale = $409 then
// английская

The GetThreadLocale function retrieves the calling thread"s current locale.

LCID GetThreadLocale(void);
Parameters
This function has no parameters.

Return Values
The function returns the system"s default user locale.

Remarks
When a thread is created, it uses the system default user locale. The system reads the system default user locale from the registry when the system boots. This system default can be modified for future process and thread creation using Control Panel"s International application.


 
leonidus   (2005-01-11 10:38) [13]

Спасибо большое, сработало. Но все таки грызут сомнения как она работает, у меня показала русский, но это как потестить...

system"s default user locale - это что? чтение текущего региона в котором проживает юзер из реестра, я правильно понял?


 
KSergey ©   (2005-01-11 10:41) [14]

> [13] leonidus   (11.01.05 10:38)
> system"s default user locale - это что? чтение текущего
> региона в котором проживает юзер из реестра,

Нет, всего лишь то, что он установил в настройках.


 
leonidus   (2005-01-11 11:02) [15]

ну понятно что это не функция GPS :)
т.е. читаются настройки из панели управления?


 
KSergey ©   (2005-01-11 11:10) [16]

> [15] leonidus   (11.01.05 11:02)
> т.е. читаются настройки из панели управления?

Настроенные через панель управления.


 
REA   (2005-01-11 11:59) [17]

А Delphi кстати сама подцепит нужные package (например .rus), если их сделать в зависимости от настройки языка.



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

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.042 c
1-1108475127
Muh
2005-02-15 16:45
2005.02.27
Как связать расширение файла с моей программой


14-1107499381
KarpEn
2005-02-04 09:43
2005.02.27
Как посмотреть результаты голосований на этом сайте?


1-1108013410
Atrion
2005-02-10 08:30
2005.02.27
RegKey.ReadBinaryData нужно Binary в String


1-1108534754
XShura
2005-02-16 09:19
2005.02.27
Можно ли при помощи компонента TChart отобразить окружность, квад


1-1108309911
Eraser
2005-02-13 18:51
2005.02.27
Способ определения активности/неактивности пользователя





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