WideCharを直接ソースに埋め込む方法
|
67 |
ConstWideCharInSourceCode |
動作確認 |
Delphi2007 |
更新日 |
2008/02/06(木) |
Delphiの言語仕様では、WideCharで全角文字を
ソースコードに埋め込むことは禁止されているようです。
例えばソースコード中の 'A' という表現は半角1文字なのでChar型になり
'文字'という表現は複数文字なのでString型になります。
WideStringを使っていても
全角文字の場合は複数文字と同じように扱われるので
WideCharを指定したい場合にはコンパイルが通りません。
────────────────────
procedure TForm1.Button1Click(Sender: TObject);
var
str: WideString;
c: Char;
wc: WideChar;
begin
str := 'あいうえお';
c := 'A';
wc := 'A';
wc := 'A';
//この上の行でコンパイルエラー
//[Pascal エラー] Unit1.pas: E2010 'WideChar' と 'string' には互換性がありません
end;
────────────────────
そこで、次のように表現するとよいです。
wc := WideString('A')[1];
WideStringにキャストしてから1文字分をとっている事になって
WideCharを直接ソースコードに埋め込むことができます。
|