gpt4 book ai didi

delphi - delphi中如何获取操作系统的语言是双字节?

转载 作者:行者123 更新时间:2023-12-03 05:24:33 27 4
gpt4 key购买 nike

我想检测操作系统的语言是否是双字节。要获取我正在使用 Windows 的 GetLocaleInfo 函数的语言。但我想检测语言是否是双字节。我可以通过获取语言名称并决定它是否是双字节(即,如果语言是日语,那么它是双字节)来做到这一点,但是是否有其他方法可以直接获取操作系统双字节语言或不是。

我用来获取语言的代码:

procedure GetLanguage();
var
Buffer : PChar;
Size : integer;
begin
Size := GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_SENGLANGUAGE, nil, 0);
GetMem(Buffer, Size);
try
GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_SENGLANGUAGE, Buffer, Size);
Writeln(Buffer);
finally
FreeMem(Buffer);
end;
end;

最佳答案

什么叫“双字节”?你的意思是当使用AnsiString时,它可能有用两个AnsiChar编码的字符?

使用以下代码:

FarEast := GetSystemMetrics(SM_DBCSENABLED) <> 0;

已编辑,因为 SysLocale.FarEast 在 Unicode Delphi 上强制为 true。

关于delphi - delphi中如何获取操作系统的语言是双字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53388929/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com