FineKernelToolKit 4.2.13
|
文字列板に表示する文字列を制御するクラス [詳解]
#include <CLI/FK_CLI/include/UniCode_CLI.h>
公開メンバ関数 | |
fk_UniStr () | |
コンストラクタ | |
~fk_UniStr () | |
デストラクタ | |
!fk_UniStr () | |
ファイナライザ | |
void | Clear (void) |
初期化メソッド | |
int | GetLength (void) |
文字列長参照メソッド | |
bool | GetLine (fk_UniStr^ str) |
一行分取得メソッド | |
void | MarkClear (void) |
マーク初期化メソッド | |
bool | ReadFile (String^ fileName, fk_StringCode code) |
ファイル全体取得メソッド1 | |
bool | ReadFile (String^ fileName) |
ファイル全体取得メソッド2 | |
void | CopyStr (fk_UniStr^ str) |
文字列コピーメソッド | |
void | Convert (String^ str, fk_StringCode code) |
文字列生成メソッド1 | |
void | Convert (String^ str) |
文字列生成メソッド2 | |
int | GetCode (int num) |
文字コード参照メソッド | |
int | Find (int start, int code) |
文字検索メソッド1 | |
int | Find (int start, unsigned char c1, unsigned char c2) |
文字検索メソッド2 | |
void | PopBack (void) |
最後尾文字削除メソッド | |
void | PushBack (fk_UniChar^ c) |
後部文字追加メソッド1 | |
void | PushBack (int code) |
後部文字追加メソッド3 | |
文字列板に表示する文字列を制御するクラス
このクラスは、 fk_TextImage による文字列板を作成する際に、 文字列を制御するための機能を提供します。 本クラスでは、内部の日本語コードとして Unicode (UTF-16) を採用しています。
fk_TextImage には、ファイルから文字列を直接入力する機能 (fk_TextImage::LoadStrFile() メソッド) がありますが、 動的に文字列を生成したい場合(例えば、ゲームの得点表示など)や、 プログラムコード中に直接表示文字列を記述したい場合などは、 このクラスによって文字列を生成します。
FK_CLI::fk_UniStr::fk_UniStr | ( | ) |
コンストラクタ
FK_CLI::fk_UniStr::~fk_UniStr | ( | ) |
デストラクタ
FK_CLI::fk_UniStr::!fk_UniStr | ( | ) |
ファイナライザ
void FK_CLI::fk_UniStr::Clear | ( | void | ) |
初期化メソッド
文字列の初期化を行います。初期化後、文字列は空文字列となります。
int FK_CLI::fk_UniStr::GetLength | ( | void | ) |
文字列長参照メソッド
現在格納されている文字列の長さを取得します。 全角文字、半角文字共に 1 文字として数えます。
bool FK_CLI::fk_UniStr::GetLine | ( | fk_UniStr^ | str | ) |
一行分取得メソッド
他の fk_UniStr 型インスタンスに格納されている文字列から、 一行分の文字列を取得します。 このメソッドで文字列を取得した際、元文字列から何文字目までを取得したのかは保存され、 次にこのメソッドを利用する際には前回の終了文字より後から読み込み始めます。 (C言語標準関数「fgets()」と似たような挙動ということです。) このメソッドを用いた際、元の文字列についてはなんらの消去を行いません。 元文字列の終端に至った場合は、そこまでの文字列を格納します。
元文字列の改行に関係なく、全体をコピーしたい場合は CopyStr() を利用して下さい。
[in] | str | 元文字列 |
void FK_CLI::fk_UniStr::MarkClear | ( | void | ) |
bool FK_CLI::fk_UniStr::ReadFile | ( | String^ | fileName, |
fk_StringCode | code | ||
) |
ファイル全体取得メソッド1
テキストファイル全体を格納します。 本メソッドは、行が複数ある場合も全てを格納します。
[in] | fileName | テキストファイルのファイル名 |
[in] | code | 入力する文字列の想定日本語コード。 サポートしているのは JISコード、SJISコード、EUC、UTF-16 です。 具体的な指定値は fk_StringCode のリストを参照して下さい。 |
bool FK_CLI::fk_UniStr::ReadFile | ( | String^ | fileName | ) |
ファイル全体取得メソッド2
テキストファイル全体を格納します。 本メソッドは、行が複数ある場合も全てを格納します。 文字コードは UTF-16 であることを前提としています。 他の文字コードを扱いたい場合は、 ReadFile(String^, fk_StringCode) を利用して下さい。
[in] | fileName | テキストファイルのファイル名 |
void FK_CLI::fk_UniStr::CopyStr | ( | fk_UniStr^ | str | ) |
void FK_CLI::fk_UniStr::Convert | ( | String^ | str, |
fk_StringCode | code | ||
) |
文字列生成メソッド1
文字列を生成します。 文字列部分の引数型は String 型となっており、 もちろん String 型の変数を代入することができますが、 以下のように直接コードに記述することも可能です。
fk_UniStr str; str.Convert("サンプル", FK_STR_SJIS);
[in] | str | 格納したい文字列 |
[in] | code | 入力する文字列の想定日本語コード。 サポートしているのは JISコード、SJISコード、EUC、UTF-16 です。 具体的な指定値は fk_StringCode のリストを参照して下さい。 |
void FK_CLI::fk_UniStr::Convert | ( | String^ | str | ) |
文字列生成メソッド2
文字列を生成します。 文字列部分の引数型は String 型となっており、 もちろん String 型の変数を代入することができますが、 以下のように直接コードに記述することも可能です。
fk_UniStr str; str.Convert("サンプル");
なお、入力文字列は SJIS を前提としています。 他の文字コードを利用したい場合は、 Convert(String^, fk_StringCode) を利用して下さい。
[in] | str | 格納したい文字列 |
int FK_CLI::fk_UniStr::GetCode | ( | int | num | ) |
文字コード参照メソッド
先頭から指定した番目の文字の UTF-16 に基づく文字コードを取得します。
[in] | num | 文字の番目 |
int FK_CLI::fk_UniStr::Find | ( | int | start, |
int | code | ||
) |
文字検索メソッド1
現在格納されている文字列に対し、 指定した場所から特定の文字を検索します。
[in] | start | 検索開始場所。最初から検索する場合は 0 を指定してください。 ここで指定した文字そのものも検索対象に入ります。 |
[in] | code | 検索対象文字の UTF-16 に基づくコード |
int FK_CLI::fk_UniStr::Find | ( | int | start, |
unsigned char | c1, | ||
unsigned char | c2 | ||
) |
文字検索メソッド2
現在格納されている文字列に対し、 指定した場所から特定の文字を検索します。
[in] | start | 検索開始場所。最初から検索する場合は 0 を指定してください。 ここで指定した文字そのものも検索対象に入ります。 |
[in] | c1 | 検索対象文字の UTF-16 前半8bit部 |
[in] | c2 | 検索対象文字の UTF-16 後半8bit部 |
void FK_CLI::fk_UniStr::PopBack | ( | void | ) |
最後尾文字削除メソッド
格納されている文字列の、最後尾の文字を削除します。
void FK_CLI::fk_UniStr::PushBack | ( | fk_UniChar^ | c | ) |
void FK_CLI::fk_UniStr::PushBack | ( | int | code | ) |
後部文字追加メソッド3
格納されている文字列に対し、最後尾に文字を追加します。
[in] | code | 文字の UTF-16 に基づくコード |