SmileBASIC 4.4.8
リファレンスマニュアル
更新日 2023/12/07
目次
- 命令概要(基本命令)
- 命令概要(表示命令)
- 命令概要(入力、サウンド、その他)
- ダイレクトモード専用命令
- 変数や配列の定義、操作に関する命令
- 制御命令
- 数学関連
- 文字列操作
- その他
- 各種入力
- 各種入力(Toy-Con)
- ファイル
- スクリーン制御
- テキストスクリーン入出力
- グラフィック
- スプライト
- レイヤー
- サウンド
- 高度な演算
- ソースコード操作
- サブプログラム
更新日 2023/12/07
[]を使用することで、文字列内の1文字を取得したり指定位置の文字を置換できる。
A$="12345" A$[3] → "4" A$[3]="ABC" → "123ABC5"
調べたい文字が先頭に入った文字列
指定された文字の文字コード
A=ASC("A") X=ASC("XYZ")
取得したい文字の文字コード
文字コードに対応する1文字の文字列
S$=CHR$(65)
数値を表す文字列("123"など)
文字列から解釈した数値
A=VAL("123") F=VAL("-12.56")
文字列に変換したい数値
指定桁数で右揃えしたい場合に指定:0~63
・数値の桁数が指定桁数より大きい場合指定を無視する。
・0を指定した場合桁揃えをしない。
・省略時は0。
変換された文字列(123→"123")
S$=STR$(123)
16進数文字列に変換したい数値
・実数を指定した場合、小数部は切り捨てられる。
出力する16進数文字列の桁数:0~8
・1以上の値を指定すると先頭に0を埋めた文字列を返す。
・0を指定した場合先頭に0を埋めない。
・省略時は0。
変換結果16進数文字列
S$=HEX$(65535,4)
2進数文字列に変換したい数値
・実数を指定した場合、小数部は切り捨てられる。
出力する2進数文字列の桁数:0~32
・1以上の値を指定すると先頭に0を埋めた文字列を返す。
・0を指定すると先頭に0を埋めない。
・省略時は0。
変換結果2進数文字列
S$=BIN$(65535,16)
値を整形して埋め込む文字列
・%の後に以下の型指定や補助指定をつける事で値の整形方法を制御する。
%S | 文字列変数の内容を出力 |
%D | 整数を10進出力 |
%X | 整数を16進出力 |
%F | 実数を出力 |
%B | 整数を2進出力 |
%% | %を1文字出力 |
%のあとに次の補助指定を行うことにより出力を整形する
・桁数指定:桁数の数値を指定(%8D,%4X)
・小数の桁数指定:全体桁数.小数部の桁数(%8.2F)
・空白埋め:空白文字+桁数を指定(% 4D→" 0")
・ゼロ埋め:0+桁数を指定(%08D→"00000000")
・左寄せ:-記号+桁数を指定(%-8D)
・+符号表示:+記号+桁数を指定(%+8D)
・整形して文字列化する値を、書式文字列中の%指定の数だけ引数として指定する(%%をのぞく)。
・%指定が期待する型と引数の型がマッチしない場合エラーが発生する。
生成された文字列
S$=FORMAT$("%06D",A)
文字数を調べたい文字列
要素数を調べたい配列
・文字列のとき:文字数
・配列のとき:要素数
? LEN("ABC123") DIM B[4] ? LEN(B)
末尾を調べたい文字列、または配列
末尾の添字番号
・文字列、配列ともLEN関数の返値から1を引いた値を返す。
DIM X[10] FOR I=0 TO LAST(X) X[I]=I NEXT
対象文字列
取得文字列の開始位置
取得文字列の文字数
・省略時は開始位置から文字列末端までの文字数を指定した事になる。
取得した文字列
S$=MID$("ABC",0,2)
対象文字列
取得文字列の文字数
取得した文字列
S$=LEFT$("ABC",2)
対象文字列
取得文字列の文字数
取得した文字列
S$=RIGHT$("ABC",2)
文字列内で検索を開始する位置
・省略時は文字列先頭から検索する。
検索対象の文字列
検索したい文字列
見つかった場合:文字列内の位置
見つからなかった場合:-1
A=INSTR(0,"ABC","B")
置換対象の文字列
置換開始位置
置換対象の文字数
・省略時は、開始位置以降の全文字を置換文字列で置き換える。
開始位置から文字数分をこの文字列で置き換える
置き換えが完了した文字列
A$=SUBST$("ABC",0,2,"XY")
現在の日付文字列
・書式は"西暦/月/日"。
現在の時刻文字列
・書式は"時:分:秒"。