### 日本語文字関数

関数名 | 機　　能 | 備　考
--- | --- | ---
AKCNV$ | 文字列中の半角文字を全角文字に変換します。 | turboのみ
KACNV$ | 文字列中の全角文字を半角文字に変換します。 | turboのみ
KEXT$ | 文字列から半角文字、または全角文字だけを抜き出します。 | turboのみ／新規追加
KTYPE$ | 全角文字の種類を返します。 | turboのみ／新規追加
KLEFT$ | 文字式の左側から、指定した文字数だけ文字を取り出します。 | turboのみ／新規追加
KRIGHT$ | 文字式の右側から、指定した文字数だけ文字を取り出します。 | turboのみ／新規追加
KMID$ | 文字式の中から、指定した文字数だけ一連の文字を取り出します。 | turboのみ
KINSTR | 文字式の中に含まれる特定の文字式の位置を検出します。 | turboのみ／新規追加
KLEN | 全角文字を含む文字列の文字数を返します。 | turboのみ
KPOS | 文字列の先頭からの位置を返します。 | turboのみ
XJIS$ | 全角文字のXJIS漢字コードを返します。 | turboのみ／新規追加

### （説明の形式）

［機能］ | 各コマンド・ステートメント・関数の働きを簡潔に記述します。
［書式］ | 各コマンド・ステートメント・関数の書き方の一般形を示します。 ［　］の中は任意に省略できます。
［解説］ | 各コマンド・ステートメント・関数の実際の使用方法、働き、注意事項を詳しく述べています。

### AKCNV$

［機能］ | 文字列中の半角文字を全角文字に変換します。
［書式］ | AKCNV$（ｘ＄） ｘ＄：文字式。”文字列”、文字変数、文字関数、およびそれらを連結したもの。
［解説］ | ｘ＄で表される文字列の中の半角文字（１バイトコード文字）を、全角文字（２バイトコード文字）に変換します。 半角のグラフィック文字も、対応する全角のグラフィック文字に変換されます。 全角文字に変換された文字は、横２倍の大きさに拡大されます。 なお、文字列中の全角文字はそのままで変換されません。 NewX1で使用しようとすると、Supports only NewX1turboのエラーが出ます。

### KACNV$

［機能］ | 文字列中の全角文字を半角文字に変換します。
［書式］ | KACNV$（ｘ＄） ｘ＄：文字式。”文字列”、文字変数、文字関数、およびそれらを連結したもの。
［解説］ | ｘ＄で表される文字列の中の全角文字（２バイトコード文字）を、半角文字（１バイトコード文字）に変換します。 ただし、文字列中の半角文字はそのままで変換されません。 なお、変換できない全角文字はそのまま表示され、全角文字のひらがなは半角のカタカナに変換されます。 NewX1で使用しようとすると、Supports only NewX1turboのエラーが出ます。

### KEXT$new!

［機能］ | 文字列から半角文字、または全角文字だけを抜き出します。
［書式］ | KEXT$（文字式，ｘ） ｘ：０，１ ０：半角文字（１バイトコード文字） １：全角文字（２バイトコード文字）
［解説］ | 文字式からｘで指定した文字だけを抜き出した文字列が、この関数の値になります。 文字式中にｘで指定した文字が無い場合、ヌルストリングが関数の値になります。 NewX1で使用しようとすると、Supports only NewX1turboのエラーが出ます。

### KTYPE$new!

［機能］ | 全角文字の種類を返します。
［書式］ | KTYPE$（ｘ＄） ｘ＄：全角文字（２バイトコード文字）の文字式。”文字列”、文字変数、文字関数、およびそれらを連結したもの。
［解説］ | ｘ＄が表される文字列の最初の文字の種類を返します。 返される文字の種類は、文字が表すXJIS漢字コードの上位バイトおよび下位バイトによって分類され、 下記のいずれかとなります。 JIS非漢字，JIS第1水準漢字，JIS第2水準漢字，JIS補助漢字，JIS第3･第4水準漢字，ベンダー拡張漢字， ユーザー定義外字 文字列の最初が全角文字でないとき、または文字が定義されていない文字コードの場合は 「Illegal function call」のエラーが出ます。 NewX1で使用しようとすると、Supports only NewX1turboのエラーが出ます。

### KLEFT$new!

［機能］ | 文字式の左側から、指定した数だけ文字を取り出します。（⇔KRIGHT$）
［書式］ | KLEFT$（文字式，ｎ） ｎ：文字式から取り出す文字数。
［解説］ | 文字式の左側から取り出されたｎ個の文字列が、この関数の値になります。ｎの値が文字式の文字数より 大きいときには、すべての文字が、ｎ＝０のときには、ヌルストリングがそれぞれ関数の値になります。 全角文字を含む文字列をバイト単位で取り出したい場合は、この関数でなくLEFT$関数を使用して下さい。 NewX1で使用しようとすると、Supports only NewX1turboのエラーが出ます。

### KRIGHT$new!

［機能］ | 文字式の右側から、指定した数だけ文字を取り出します。（⇔KLEFT$）
［書式］ | KRIGHT$（文字式，ｎ） ｎ：文字式から取り出す文字数。
［解説］ | 文字式の右側から取り出されたｎ個の文字列が、この関数の値になります。ｎの値が文字式の文字数より 大きいときには、すべての文字が、ｎ＝０のときには、ヌルストリングがそれぞれ関数の値になります。 全角文字を含む文字列をバイト単位で取り出したい場合は、この関数でなくRIGHT$関数を使用して下さい。 NewX1で使用しようとすると、Supports only NewX1turboのエラーが出ます。

### KMID$

［機能］ | 文字式の中から、指定した数だけ一連の文字を取り出します。（⇔KLEFT$、KRIGHT$）
［書式］ | KMID$（文字式，開始位置［，ｎ］） 開始位置：文字式の最初の文字の位置を１とする文字の位置。 ｎ：文字式から取り出す文字の数。
［解説］ | 文字式の中の開始位置から取り出されたｎ個の文字列が、この関数の値になります。ｎを省略したとき、 および文字式の文字数よりｎが大きいときには、開始位置から右端までの文字列が、関数の値になります。 開始位置が文字式の文字数より大きいときには、ヌルストリングが関数の値になります。 全角文字を含む文字列をバイト単位で取り出したい場合は、この関数でなくMID$関数を使用して下さい。 NewX1で使用しようとすると、Supports only NewX1turboのエラーが出ます。

### KINSTRnew!

［機能］ | 文字式の中に含まれる特定の文字式の位置を検出します。
［書式］ | KINSTR（［開始位置，］文字式１，文字式２） 開始位置：探し始める文字の位置。１以上の整数 文字式１の最初の文字の位置を１とします。
［解説］ | 文字式１の中を、開始位置から順に右へ、文字式２があるかどうか探して行きます。 もし見つかれば、その先頭の文字の位置を関数の値とし、見つからなければ、関数の値を ０にします。開始位置を省略すると、文字式１の最初から探し出します。 また、文字式２がヌルストリングの場合、文字式１に関わらず関数の値は１となります。 全角文字を含む文字の位置をバイト単位で検出したい場合は、この関数でなくINSTR関数を使用して下さい。 NewX1で使用しようとすると、Supports only NewX1turboのエラーが出ます。

### KLEN

［機能］ | 全角文字を含む文字列の文字数を返します。
［書式］ | KLEN（ｘ＄） ｘ＄：文字式。”文字列”、文字変数、文字関数、およびそれらを連結したもの。
［解説］ | 半角文字（１バイトコード文字）も全角文字（２バイトコード文字）も１文字として数えて、 ｘ＄で表される文字列の文字数を返します。 このとき、半角の空白（スペース）、全角空白（スペース）も１文字に数えます。 NewX1で使用しようとすると、Supports only NewX1turboのエラーが出ます。

### KPOS

［機能］ | 文字列の先頭からの位置を返します。
［書式］ | KPOS（ｘ＄，ｎ） ｘ＄：文字式。”文字列”、文字変数、文字関数、およびそれらを連結したもの。 ｎ：数式。単独の整数、数値定数、数値関数でも構いません。
［解説］ | ｘ＄で表される文字列のｎ番目の文字の位置をバイト数で与えます。 数式ｎは、文字列の文字を先頭から数えたときの値で、半角文字（１バイトコード文字）も 全角文字（２バイトコード文字）も１文字と見なします。 この関数は、文字列中から任意の文字列を取り出すときに使うと便利です。 NewX1で使用しようとすると、Supports only NewX1turboのエラーが出ます。

### XJIS$new!

［機能］ | 全角文字のXJIS文字コードを返します。
［書式］ | XJIS$（ｘ＄） ｘ＄：全角文字（２バイトコード文字）の文字式。”文字列”、文字変数、文字関数、およびそれらを連結したもの。
［解説］ | ｘ＄が表される文字列の最初の文字を、１６進数４桁のXJIS文字コードに変換します。 文字列の最初が全角文字でないときは、「Illegal function call」のエラーが出ます。 この関数は、HEX$（ASC（ｘ＄））で返されるのと同じ値を返します。 NewX1で使用しようとすると、Supports only NewX1turboのエラーが出ます。

先頭に戻る