さっそく使ってみよう
待っていても何も起こらないのでさっそくですがHSPスクリプトを書いていきましょー。
ポットの形の「hsed2.exe」を実行(ダブルクリック)してください。
下図のような黒い画面が出てきましたか?

前章説明したスクリプトエディタというものですね。
この黒い部分にHSPのスクリプトを打ち込んでいくわけです。

メニューバーの「HSP」-「コンパイル+実行」またはF5キーを押してみてください。
白いウィンドウが出て一瞬で消えてしまったと思います。
今した行為が自分の書いたプログラム(現在はまだ何も書いていませんが…)を動かすと言う行為です。
何も書いてないのに640×480ドットのウィンドウが生成され自動終了するプログラムが完成したわけです。
一瞬すらウィンドウが出ない人は「hsp2.exe」か「hsprt」が同フォルダ内にないものと思われます。
もし削除してしまったなら、もう一度第3章の手順どおりにダウンロードしてきてください…。
先ほど一瞬で閉じたウィンドウはエラーしたのではなくアレで正常なんですねぇ。
HSPでは…というか大半がそうですけどプログラムの流れは基本的に上から下へ流れます。
中断命令や無限にループする命令がないとどんどん流れて行ってスクリプトの終端まで辿り着きます。
辿り着くと止まるのではなく終了してしまうのですね。

さて、実行したらHSPのある作業フォルダに3つほど身に覚えのないファイルが増えてると思います。
コレが俗に言う…勝手に増殖をするウィルスと言うやつです!
…なんて、嘘ですので今のは聞かなかったことにしてください…。
それでは前章に引き続きHSPフォルダに生成された謎のファイルを説明しましょう。

「hsptmp」
TeMPoraryの略。そのまんまでコンパイルすると一時的に作成されるファイル。
実行した時に書いていたスクリプトが内容はそのままでこの名前のファイルになった。
推測だが、HSPは既に定義されている名前しかコンパイル出来ないので
同じ内容のファイルをhsptmpと言う名で作成している?

「hsptmp.i」
マクロ展開した結果のもの…のようです。

「obj」
中間コードファイル。実行する時にこのファイルがないと実行できない(コンパイル前)。
初めにコンパイル+実行又はF5キーを押して、と書きましたがコンパイルをせずに実行(F6)だけをすると
まだobjファイルが作業フォルダにないとエラーとなるはずです。
これらはコンパイル後削除していただいて全然問題ありません。
ココ以上にさらに詳しく知りたい場合は、究極の入門講座にお越しください。

話を戻しましてHSP標準付属ヘルプに「end」命令と言うプログラムを終了させる命令がありますが、
処理が完了したら中断命令等でウィンドウが維持されていたものを終了したいと言った時に使用します。
スクリプトの最後に見えないがendと書かれていると思ってください。
HSPプログラムには命令1つ1つに書式と言う「その命令を書くときの形」というものが存在します。
黒い部分がエディタの画面として、下のようにendとだけ書いて実行してみてください。
	end
書式はあっているのにエラーが出るんだけど…という方は出たエラーメッセージを読んでください。 「文法が間違っています」というエラーが出た人は全角で書いていませんか? 命令はすべて半角文字を使用してください。 処理を終えてそのまま終わるのは困る、と言う時が必ずやってきますよね。 どうやって終了を妨げるかと言うと、「stop」命令でプログラムの一時中断と書いてあります。 この命令をスクリプトに書けばプログラムを一時中断しウィンドウを維持し続けてくれそうです。 この命令の書式はと言うと、やはりend命令と同じく「stop」だけなんですね…。 ヘルプの通りにstopとだけ書いてもういちど実行してみてくださーい。
	stop
実行をすると先ほど一瞬だけ見えて見えなくなったウィンドウが表示されたまま止まっています。 確認できたら右上の[×]ボタンかALT+F4キーを押して閉じてください。 ここでHSPの決まり事が言っておきます。 決まり事は、上記の例のように命令の前にTABキーを押してカーソル位置を右にずらすというもの。 コレをしないとエラーになる…ということはありませんが、見やすさを重視するために守ってください。 これだけでもプログラムですが、あまりにもつまらないのでココに命令を追加してみましょー。 初めにウィンドウ内に文字を表示させる「mes」命令を使ってみましょう。
	mes
	stop
と書いて実行してみてください。 先ほどと何一つ変わらない白いウィンドウが出てきたと思います。 どう違うの?と言いたくなりますね。 ヘルプのmes命令には「mes "strings"」とあります。 mes命令はendstop命令と違い、命令(ステートメントと呼ぶ)を書いただけではダメなのです。 「"strings" : 表示するメッセージ、または変数」とあるように、 表示させたい文字を"strings"の所に書くのです。 尚、mesと"strings"の間には半角スペースを入れるようにしてください。 文字列だとエラーは出ないけど、数値だとエラーになるのでクセ付けしておきましょう。 練習として自分の名前を表示させてみてください…。 ちゃんと表示されましたか? 「0」なんて画面に出たりしてませんか? HSPでは「""」で囲まれたものが文字として認識されます。それ以外は変数または数値となります。 きちんと表示されなかった人は「"」ダブルクォート(数字の2キーをシフト押しながら)で囲んでください。
	mes "自分の名前"
	stop
これできちんと名前が表示されましたよね? いろいろ文字を変えて試してみてください。 二段に分けて表示したい時は、
	mes "一段目です"
	mes "二段目です"
	stop
mesを2つに分けて書いても、1つの文章中に「\n」と書いても改行することができます。
	mes "一段目\n二段目"
	stop
「\n」のそれぞれの意味は深く考えず、今は改行させるための記号とだけ覚えておいてください。 また{ } (中カッコ)を使用して複数行に表示することもできます。
	mes {"
		一段目
		二段目
		三段目
	"}
	stop
mesと同じ働きをするものでprint命令と言うものがあります。 書式もmes命令と同じで「print "表示させたい文字"」となっています。 どちらもHSPウィンドウ内に文字を出力する命令ですので自分に合った方を使用すればよいでしょう。
	print "mesと全く同じです"
	stop
何で同じ用途の命令が2つ用意されているのでしょうね? まだ始まった段階で何のことを言っているのかさっぱりだと思われるのですが、 命令は自分で好きな名称に定義する(置き換える)ことが出来るのです。 それなのになぜ統一しておかないのかな、と少し疑問に思っております。