HP-BASIC入門
ホーム » HPBASIC入門 » 文字列

文字列


単語やメッセージは文字列として格納、表示することができます。 引用符を利用して文字列の始めと終わりを区切ります。

Fail$="The test has failed."


文字列の変数名は数値変数名と同じですが、名前の最後に$を追加する という点がことなっています。
通常、BASICは1バイト文字と2バイト文字を非常に似た方法で取扱い ます。ただし2バイト文字は場合によっては異なった方法で取り扱わ れることがあります。


文字列に関する説明



デフォルトの文字列は18文字で、DIM、COMとALLOCATEを使用すると、 最大の32767文字まで定義することができます。

10 Message$=""Stop""
20 PRINT Message$
30 END


この分を実行すると、"Stop"という文字が表示されます。

文字には文字配列おいうものがあり、

DIM File$(1000)[80]


と宣言します。これは1行あたり、80文字で行数が1000行までの 格納スペースを確保します。 文字列の長さを定義する大かっこを配列内の文字列の数を定義する かっこと混同しないようにします。

文字列関連の関数

変数を使用しているときに格納される文字列の長さは下記のように LEN関数を用いて知ることが出来ます。

10 DIM In$[160]
20 INPUT In$
30 Length=LEN(In$)
40 DISP Length;"characters in """;In$;"""
50 END


これでキーボードから入力した文字列の長さを表示することができます。 またMAXLEN関数は文字列の宣言値の数値を返す関数で、文字列内の 副文字列の位置はPOS関数によって知ることができます。
このように文字列を扱うにも関連する組み込み関数が複数個あります。 これらの関数の中には文字列と数値の変換関数も含まれています。 下記に有用な関数を列挙します。
■VAL関数は文字列を数値に変換します。この時文字列は数字と 評価されるような文字列が入っていないとエラーを発生します。 NUM関数は一つの文字をアスキー等価の数値に変換する関数です。

■VAL$関数・・・数値式を文字列に変換
■CHR$関数・・・数値をASCII文字に変換
■REV$関数・・・文字列を逆順序にする関数
■RPT$関数・・・指定した回数文字列を繰り返す関数
■TRIM$関数・・文字列をトリミング(取り出す)関数
■UPC$関数・・・大文字→小文字変換関数
■LWC$関数・・・小文字→大文字変換関数


文字列の連結は"&"を使用することによって2つの文字列を 1つに結合することができます。

100 One$="WRIST"
200 Two$="WATCH"
300 Cont$=One$&Two$
400 PRINT Cont$
500 END

結果は下記のようになります。

WRISTWATCH


文字列は関係演算子で判断分岐させることができます。 たとえば数値式で使用される関係演算子のほとんどは 文字列で使用することができます。

"ABC"="ABC" 真
"ABC"<"AbC" 真
"6" > "7" 偽
"2" < "12" 偽
"long" <= "longer" 真

テストは文字列の最初の文字から始まり、関係が判定さ れるまで一文字ずつ進んでいきます。 たとえば

"Bonus" < "Cat"


であれば大文字"C"は"B"よりもASCII値が大きいので真です。