OSにインストールされているコードページ一覧を列挙する ~Delphiソースコード集
システム(OS)にインストールされているコードページ一覧を列挙する
画面設計とソースコード
[新規作成]⇒[Windows VCLアプリケーション -Delphi]をクリックしてプロジェクトを作成します。
TButtonとTMemoをフォームにドラッグ&ドロップします。
以下のソースコードを入力します。
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function CodePageEnumProc(CodePage:PChar):Integer;stdcall;
var Cp:Cardinal;
CpInfo:TCPInfoEx;
begin
Cp:=StrToInt(CodePage);
GetCPInfoEx(cp,CP_ACP,CpInfo);
Form1.Memo1.Lines.Add(
Format('%s',[cPiNFO.CodePageName])
);
Result:=1;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Clear;
//現在システムにインストールされているコードページを列挙する
EnumSystemCodePages(@CodePageEnumProc,CP_INSTALLED);
end;
end.
実行画面例
| 10000 | MAC - ローマン |
| 10001 | MAC - 日本語 |
| 10002 | MAC - 繁体字中国語 Big5 |
| 10003 | MAC - 韓国語 |
| 10004 | MAC - アラビア語 |
| 10005 | MAC - ヘブライ語 |
| 10006 | MAC - ギリシャ語 I |
| 10007 | MAC - キリル言語 |
| 10008 | MAC - 簡体字中国語 GB 2312 |
| 10010 | MAC - ルーマニア語 |
| 10017 | MAC - ウクライナ語 |
| 10021 | MAC - タイ語 |
| 10029 | MAC - ラテン II |
| 10079 | MAC - アイスランド語 |
| 10081 | MAC - トルコ語 |
| 10082 | MAC - クロアチア語 |
| 1026 | IBM EBCDIC - トルコ語(ラテン-5) |
| 1047 | IBM EBCDIC - ラテン-1/Open System |
| 1140 | IBM EBCDIC - 米国/カナダ(37 + ユーロ) |
| 1141 | IBM EBCDIC - ドイツ(20273 + ユーロ) |
| 1142 | IBM EBCDIC - デンマーク/ノルウェー(20277 + ユーロ) |
| 1143 | IBM EBCDIC - フィンランド/スウェーデン(20278 + ユーロ) |
| 1144 | IBM EBCDIC - イタリア(20280 + ユーロ) |
| 1145 | IBM EBCDIC - ラテン アメリカ言語/スペイン(20284 + ユーロ) |
| 1146 | IBM EBCDIC - 英国(20285 + ユーロ) |
| 1146 | IBM EBCDIC - 英国(20285 + ユーロ) |
| 1148 | IBM EBCDIC - インターナショナル(500 + ユーロ) |
| 1149 | IBM EBCDIC - アイスランド語(20871 + ユーロ) |
| 1250 | ANSI - 中央ヨーロッパ |
| 1251 | ANSI - キリル言語 |
| 1252 | ANSI - ラテン I |
| 1253 | ANSI - ギリシャ語 |
| 1254 | ANSI - トルコ語 |
| 1255 | ANSI - ヘブライ語 |
| 1256 | ANSI - アラビア語 |
| 1257 | ANSI - バルト言語 |
| 1258 | ANSI/OEM - ベトナム語 |
| 1361 | 韓国語 - Johab |
| 20000 | CNS - 台湾 |
| 20001 | TCA - 台湾 |
| 20002 | Eten - 台湾 |
| 20003 | IBM5550 - 台湾 |
| 20004 | TeleText - 台湾 |
| 20005 | Wang - 台湾 |
| 20105 | IA5 IRV インターナショナル アルファベット No.5 |
| 20106 | IA5 ドイツ語 |
| 20107 | IA5 スウェーデン語 |
| 20108 | IA5 ノルウェー語 |
| 20127 | US-ASCII |
| 20261 | T.61 |
| 20269 | ISO 6937 Non-Spacing Accent |
| 20273 | IBM EBCDIC - ドイツ |
| 20277 | IBM EBCDIC - デンマーク/ノルウェー |
| 20278 | IBM EBCDIC - フィンランド/スウェーデン |
| 20280 | IBM EBCDIC - イタリア |
| 20284 | IBM EBCDIC - ラテン アメリカ言語/スペイン |
| 20285 | IBM EBCDIC - 英国 |
| 20290 | IBM EBCDIC - 日本語 カタカナ拡張 |
| 20297 | IBM EBCDIC - フランス |
| 20420 | IBM EBCDIC - アラビア語 |
| 20423 | IBM EBCDIC - ギリシャ語 |
| 20424 | IBM EBCDIC - ヘブライ語 |
| 20833 | IBM EBCDIC - 韓国語拡張 |
| 20838 | IBM EBCDIC - タイ語 |
| 20866 | ロシア語 - KOI8 |
| 20871 | IBM EBCDIC - アイスランド語 |
| 20880 | IBM EBCDIC - キリル文字(ロシア語) |
| 20905 | IBM EBCDIC - トルコ語 |
| 20924 | IBM EBCDIC - ラテン-1/Open System(1047 + ユーロ) |
| 20932 | JIS X 0208-1990 0212-1990 |
| 20936 | 簡体字中国語 GB2312 |
| 20936 | 簡体字中国語 GB2312 |
| 21025 | IBM EBCDIC - キリル文字(セルビア語、ブルガリア語) |
| 21027 | Ext Alpha Lowercase |
| 21866 | ウクライナ語 - KOI8-U |
| 28591 | ISO 8859-1 ラテン I |
| 28592 | ISO 8859-2 中央ヨーロッパ |
| 28593 | ISO 8859-3 ラテン 3 |
| 28594 | ISO 8859-4 バルト言語 |
| 28595 | ISO 8859-5 キリル言語 |
| 28596 | ISO 8859-6 アラビア語 |
| 28597 | ISO 8859-7 ギリシャ語 |
| 28598 | ISO 8859-8 ヘブライ語: 視覚順 |
| 28599 | ISO 8859-9 ラテン 5 |
| 28603 | ISO 8859-13 ラテン 7 |
| 28605 | ISO 8859-15 ラテン 9 |
| 37 | IBM EBCDIC - 米国/カナダ |
| 38598 | ISO 8859-8 ヘブライ語: 論理順 |
| 437 | OEM - 米国 |
| 500 | IBM EBCDIC - インターナショナル |
| 50220 | ISO-2022 日本語、半角カタカナなし |
| 50221 | ISO-2022 日本語、半角カタカナ) |
| 50222 | ISO-2022 日本語 JIS X 0201-1989 |
| 50225 | ISO-2022 韓国語 |
| 50227 | ISO-2022 簡体字中国語 |
| 50229 | ISO-2022 繁体字中国語 |
| 51949 | EUC-韓国語 |
| 52936 | HZ-GB2312 簡体字中国語 |
| 54936 | GB18030 簡体字中国語 |
| 55000 | SMS GSM 7bit |
| 55001 | SMS GSM 7bit スペイン語 |
| 55002 | SMS GSM 7bit ポルトガル語 |
| 55003 | SMS GSM 7bit トルコ語 |
| 55004 | SMS GSM 7bit ギリシャ語 |
| 57002 | ISCII - デバナガリ文字 |
| 57003 | ISCII - バングラ語 |
| 57004 | ISCII - タミール語 |
| 57005 | ISCII - テルグ語 |
| 57006 | ISCII - アッサム語 |
| 57007 | ISCII - オディア語(オリヤー語) |
| 57008 | ISCII - カナラ語 |
| 57009 | ISCII - マラヤラム語 |
| 57010 | ISCII - グジャラート語 |
| 57011 | ISCII - パンジャブ語(グルムキー文字) |
| 708 | アラビア語 - ASMO |
| 720 | アラビア語 - Transparent ASMO |
| 737 | OEM - ギリシャ語 437G |
| 775 | OEM - バルト言語 |
| 850 | OEM - 多言語ラテン I |
| 852 | OEM - ラテン II |
| 855 | OEM - キリル言語 |
| 857 | OEM - トルコ語 |
| 858 | OEM - 多言語ラテン I + ヨーロッパ言語 |
| 860 | OEM - ポルトガル語 |
| 861 | OEM - アイスランド語 |
| 862 | OEM - ヘブライ語 |
| 863 | OEM - カナダ フランス語 |
| 864 | OEM - アラビア語 |
| 865 | OEM - 北欧 |
| 866 | OEM - ロシア語 |
| 869 | OEM - 現代ギリシャ語 |
| 870 | IBM EBCDIC - マルチリンガル/ROECE(ラテン-2) |
| 874 | ANSI/OEM - タイ語 |
| 875 | IBM EBCDIC - モダン ギリシャ語 |
| 932 | ANSI/OEM - 日本語 Shift-JIS |
| 936 | ANSI/OEM - 簡体字中国語 GBK |
| 949 | ANSI/OEM - 韓国語 |
| 950 | ANSI/OEM - 繁体字中国語 Big5 |
| 65000 | UTF-7 |
| 65001 | UTF-8 |
