jed*_*der 3 delphi character-encoding non-unicode
我有一个Delphi 7应用程序.我需要能够获得非unicode程序的默认Windows字符集.我知道DEFAULT_CHARSET设置了它,但我需要确切地知道它是哪个charset,以便我可以将它与其他字符集进行比较.这可能吗?怎么样?
谢谢!
GetFontData正在调用GetObject并使用它LogFont.lfCharSet来确定字符集
使用HFONT调用GetObject将填充LogFont 定义
DEFAULT_CHARSET设置为基于当前系统区域设置的值.例如,当系统区域设置为英语(美国)时,它将设置为ANSI_CHARSET.
使用CP_ACP提供CPINFOEX结构的GetCPInfoEx将提供系统默认的 Windows ANSI代码页.
var
CPInfoEx:TCPInfoEx;
CD:Cardinal;
CharsetInfo:TCharSetInfo;
CSN:String;
begin
If GetCPInfoEx(CP_ACP,0,CPInfoEx) then
begin
CD := CPInfoEx.Codepage;
if TranslateCharsetInfo(CD,CharsetInfo,TCI_SRCCODEPAGE) then
begin
CharsetToIdent(CharsetInfo.ciCharset,CSN);
Showmessage(CPInfoEx.CodePageName+' - '+IntToStr(CharsetInfo.ciCharset)+' - '+CSN);
end;
end;
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4870 次 |
| 最近记录: |