| Автор
| Сообщение |
|
|
|
Цитата |
|
Помогите, плз.!
Задача такова:
Получить названия всех возможных кодовых страниц (CodePages) в том виде, как они представлены на третьей вкладке диалога региональных настроек и выбора языка в WinXP.
Те, что установлены - птичкой отмечены, те что нет, - соответственно, нет.
Получить номера страниц не проблема.
Либо EnumSystemCodePages использовать, либо прямо из реестра брать можно. (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage)
Проблема в том как получить имена кодовых страниц.
Использую следующий код.
Код:
//////////////
try
SetString(s, lpCodePageString, 99);
s:=Trim(s);
except
end;
GetCPInfoEx(StrToIntDef(s,-1),0, cpi);
SetString(s_nm,cpi.CodePageName,100);
s_nm:=Trim(s_nm);
lbCodePagesInstalledList.Items.Add(s_nm);
///////////////
lpCodePageString - номер CodePage'а (передается из EnumCodePagesProc - callback процедуры для EnumSystemCodePages )
Передается корректно.
Так вот, если CodePage установлено - все ОК.
В список заносится то, что требуется
А если нет, то имя CodePage не отдается.
Как его получить? |
|
| В начало |
|
 |
|
|
 |
|