gpt4 book ai didi

Delphi:通过LocaleID获取国家代码

转载 作者:行者123 更新时间:2023-12-02 11:54:32 24 4
gpt4 key购买 nike

我需要一种方法来通过区域设置 ID 获取“en”或“uk”或“jp”等国家/地区代码:

  • 美国英语 ID 为 1033 ->“en”(或“en-US”)
  • 日语 ID 为 1041 ->“jp”
  • 等等

喜欢:

function GetCountryFromLoc(lcid: Integer): string;

我使用Delphi 7。

最佳答案

从 Windows Vista 开始,您可以使用 LCIDToLocaleName功能。

尝试这个示例

{$APPTYPE CONSOLE}

uses
Windows,
SysUtils;

const
LOCALE_NAME_MAX_LENGTH = 85;

function LCIDToLocaleName(Locale: LCID; lpName: LPWSTR; cchName: Integer;
dwFlags: DWORD): Integer; stdcall;external kernel32 name 'LCIDToLocaleName';

var
strNameBuffer : array [0..LOCALE_NAME_MAX_LENGTH-1] of WideChar;
begin
if (LCIDToLocaleName(1033, strNameBuffer, LOCALE_NAME_MAX_LENGTH, 0) = 0) then
RaiseLastOSError
else
Writeln(strNameBuffer);

if (LCIDToLocaleName(1041, strNameBuffer, LOCALE_NAME_MAX_LENGTH, 0) = 0) then
RaiseLastOSError
else
Writeln(strNameBuffer);

Readln;
end.

在 Windows Vista 之前的系统上,您可以使用 DownlevelLCIDToLocaleName功能。

这将返回

en-US
ja-JP

关于Delphi:通过LocaleID获取国家代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19369809/

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