さて、今回はLaboratoryテーマ??22「文字列から数値に変換したい」です。
前回のメッセージウィンドウオープンで説明した通り、イベント制御には自作スクリプトを用意します。
しかし、スクリプトを読み込む際、数字も文字列として読み込んでしまうため、そのままでは数値として利用できません。
例えば、スクリプト「FE,12」(実行中イベントのフラグを12にする。)は、メッセージデータ上は文字列「46 45 2C 31 32」となっています。
そこで、数字部「31 32」を数値「12」化するためのサブルーチンが必要になります。
文字→数値変換のサンプルプログラムです。
「Ato9SMPL.BAS」【 ダウンロード 】
数字を含む文字列を入力すると、文字列中の数字部分を数値化し、数値として結果を表示します。
文字列データとなっている途中経過をASCIIコード化して表示します。
マシン語のサンプルです。
(因みに、メッセージウィンドウオープンのサンプルに既に入っています。)
起動すると、Ato9SMPL.BINを作成します。
掛け算のサブルーチンを内包しています。
0〜255までの値を変換可能です。
変換用のワークとして、5個の変数を使っています。
サブルーチンとしてアドレス変更する際は、そこの変更を忘れないように気を付けてください。(&HD0E0〜&HD0E4)
IN
OUT
DE
文字列数字部先頭アドレス
A
数値
「BINSET.BAS」【 ダウンロード 】
マシン語のサブルーチンとして必要なのは&HC000~&HC03Fまでです。
&HC058~&HC06Fは文字列先頭アドレスから、数字部分を見付けサブルーチンコールします。