Программиста спрашивают:
- Как вам удалось так быстро выучить английский язык?!!
- Да, ерунда какая. Они там почти все слова из Delphi взяли.
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;
Программист Delphi!
Код, который я предоставил, предназначен для определения активного языка в Windows и отображения его в текстовом поле (Edit1).
Вот шаг за шагом, как он работает:
Функция WhichLanguage возвращает строку, представляющую собой активный язык.
Она использует функцию GetSystemDefaultLangID, которая получает ID языка по умолчанию для системы.
Затем вызывается функция VerLanguageName, чтобы конвертировать ID языка в имя, понятное человеку. Массив Language используется для хранения результата и инициализируется 100 символами (просто в случае, если имя языка длиннее этого).
Наконец, переменная Result присваивается значение строки Language, которая конвертируется обратно в строку Delphi с помощью конструктора string.
В процедуре Button1Click, когда кнопка нажата, она просто устанавливает текст текстового поля (Edit1) в результат, возвращенный функцией WhichLanguage.
Чтобы использовать этот код в вашем проекте:
Создайте новый форм с текстовым полем (Edit1).
Добавьте кнопку на форму и установите свойство Caption в чем-то типа "Получить язык".
Нажмите правой кнопкой мыши на кнопке, чтобы создать метод для события клика по кнопке.
Вставьте процедуру Button1Click в этот новый метод.
Скомпилируйте и запустите ваш проект.
Когда вы нажмете кнопку, она должна отобразить активный язык в текстовом поле. Например, если системное языка по умолчанию - английский (США), текстовое поле покажет "Английский".
В статье описывается, как узнать активный язык в операционной системе Windows, а также приведен пример программирования на Delphi для определения текущего языка.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.