メモリ管理

	dim a,3
	a.0=123
	a.1=5
	a.2=13
	mes a.2
	stop

配列変数を作成するにはdim命令を使用します。
配列変数に関しては専門用語解説を参考にしてください。
第2パラメータで作成する変数の個数を指定します。さらに、第3,4,5と指定することで 多次元(4次元まで)の配列変数を作成することができます。 配列変数は同じようなデータが複数必要なときに便利です。例えば、シューティングでの 弾の座標など…他にも用途は有ります(^^;


	sdim a,21,3
	a.0="おはようございます"
	a.1="こんにちは"
	a.2="こんばんは"
	mes a.1
	stop

配列文字列変数を作成するにはsdim命令を使用します。
これも多次元配列(4次元)まで作成することが可能です。第2パラメータで変数に 入れることができる文字数を指定します。ただし半角(アルファベット)の 文字数で指定するので、全角(日本語)だとその半分しか文字を入れることができません。 さらに、文字列の最後には文字列の最後と言う意味のデータが入るので 必要な文字数+1だけ指定する必要があります。サンプルでは全角10文字まで入れることができます。 はみ出るといろいろ不具合がでるので気を付けましょう。


	alloc a,200
;	sdim a,200
	stop

alloc命令はsdim命令と同じです。古いHSPと互換を持たせるために残っているだけなので 使うのはやめましょう。


	a="abcdefg"
	peek b,a,3
	mes b
	mes 'd'
	stop

変数の中から1byte抜き出すにはpeek命令を使用します。
これは文字を取り出す命令では無いと思ってください。 第1パラメータに抜き出した結果を入れる変数を指定します。 このとき文字列変数を指定しないようにしましょう。 抜き出されるのは0〜255までの数字です。バイナリファイルの一部読み出しにも使えます。 第3パラメータで抜き出すための位置を指定します。ただし、1byte目は1ではなく0 から数えることに気をつけてください。 文字を取り出すにはstrmid命令を使用してください。 peek命令は初心者のうちは使う機会が少ない命令です。


	a="abcdefg"
	mes "zは"+'z'
	poke a,3,'z'
	mes a
	stop

変数の中に1byte書き込むにはpoke命令を使用します。
必ずしも文字列に対して行う命令ではありません。 バイナリファイルの書き換えにも使うことができます。 第2パラメータで書き込む位置を指定します。ただし、1byte目は1ではなく0 から数えることに気をつけてください。
第3パラメータに書き込む値(0〜255)を指定します。サンプルでは 'z'とかかれていますが、これは122(アスキーコードでzを表す数字)を 書いたことになります。
詳しくは文字と文字列の扱いを参考にしてください。


■ 目次へ戻る ■

楽天モバイル[UNLIMITが今なら1円] ECナビでポインと Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!


無料ホームページ 無料のクレジットカード 海外格安航空券 解約手数料0円【あしたでんき】 海外旅行保険が無料! 海外ホテル