FreeBASIC マニュアルのトップに戻る

FreeBASIC WCHR

目次→実行時ライブラリー参考→文字列関数WCHR←オリジナル・サイト

WCHR 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい


1文字以上のユニコード文字を含む、ワイド文字型文字列を返します。

構文:
declare function Wchr ( byval ch as Integer [, ... ] ) as wstring

用法:
result = Wchr ( ch0 [, ch1 ... chN ] )

パラメタ:
ch
文字のユニコード整数値。(最大 32 文字)

戻り値:
ワイド文字型文字列を返します。

記述:
Wchr は、渡されたユニコード値によって表される文字を含む、ワイド文字型文字列を返します。

Wchr を、数の定数または直定数(literals)で使うとき、結果はコンパイル時に評価されます。このため、Wchr を、可変的なイニシャライザとして使うことができます。

どのマシン上でも、すべてのユニコード文字を表示できる、というわけではありません。利用できる文字は、実行画面(コンソール)で現在使用中のフォントに依存します。
GfxLib 内蔵の字体が、ユニコードではないので、描画モードでは、ユニコード文字を表示できません。

例:ソース・コード(.bas ファイル)は、UNICODE で保存します。

Print "UNICODE 934 が表す文字は:" & Space(Len("UNICODE 934 が表す文字は:")); WChr(934) & Space(1)
Print "複数の UNICODE 文字:" & Space(Len("複数の UNICODE 文字:")); WChr(933, 934, 935) & Space(3)
Sleep


とすると、以下のように出力されるでしょう:

ユニコードの例


次の例を、Shift_JIS と Unicode で、それぞれ保存したうえでコンパイルしてみましょう。
Unicode の文字コードを出力するために、Shift_JIS で保存した場合は、変数 WString を使う必要があります。
しかし、Unicode で保存した場合は Asc で、直接 Unicode の文字コードを出力できます。
'ASC & WChr
Dim WStringStr As WString *2

Print "渡:"; Asc("渡")
WStringStr = "渡": Print "WString " ;Asc(WStringStr)
Print "邊:"; Asc("邊")
WStringStr = "邊": Print "WString " ;Asc(WStringStr)
Print "眞:"; Asc("眞")
WStringStr = "眞": Print "WString " ;Asc(WStringStr)
Print
Print "28193,37002,30494:"; Wchr(28193,37002,30494)

Print

Print "渡:"; Asc("渡")
WStringStr = "渡": Print "WString " ;Asc(WStringStr)
Print "辺:"; Asc("辺")
WStringStr = "辺": Print "WString " ;Asc(WStringStr)
Print "真:"; Asc("真")
WStringStr = "真": Print "WString " ;Asc(WStringStr)
Print
Print "28193,36794,30495:"; Wchr(28193,36794,30495)

Sleep

Shift_JIS で保存 Unicode で保存

注:日本語 Windows 標準設定の、コマンド プロンプトの「ラスターフォント(Raster font ビットマップ・フォント)」では、Print で、ユニコードの文字を表示しようとすると、半角ベースの幅しか確保しません。このため、全角の文字を含む文字列を表示すると、右端が欠落します。
 上の例のコードでは、文字数だけ、空白を、Space で追加して、表示させる幅をかせいでいます。
 ユニコード のソース・コード(.bas ファイル)で、全角文字の Print を補助する、ユーザ定義関数 Expand もあります。

注意:FbEdit の最新バージョン(1.0.7.6c)では、UNICODE のファイルを保存すると、不要な文字が入るバグが有ります。
このため、UNICODE のコードを扱う場合は、FbEdit バージョン(1.0.7.4)か、FreeBasic IDE-poseidonFB か、FreeBasic IUP_FB_EDITOR を使って下さい。
 
コマンド プロンプトのタイトルバーを右クリックしてプロパティを表示  コマンド プロンプトのタイトルバーを右クリックしてプロパティを表示させて、右画面のように、フォントを、「MS ゴシック」に変更すれば、プログラムで細工しなくても、素の print で全角文字列を表示できます。
 これも、2ちゃんねるの、「デフォルトの名無し」さんに教えていただきました。

プラットホーム差:

方言差:
QBからの違い:
参照:
文字列関数に戻ります。

←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2022-04-02 03:04:44
日本語翻訳:WATANABE Makoto、原文著作者:AntoniGual

ホームページのトップに戻る

表示-非営利-継承