すぐるホームページ > きしも.com > HSPのまとめ

HSPのまとめ

HSPは,Windows上で動くインタープリタ型プログラミングツールです。
フリーウェアなので,無料で手に入れることができます。→ hsp.tv
スクリプトを実行するには,"F5"キーを押します。
実行ファイルを作成するには,メニュー > HSP > 実行ファイル自動作成 とすると,"hsptmp.exe"が作成されます。
もし実行時に必要となる画像ファイルなどを埋め込む場合は,#pack "画像ファイル"とします。
もし実行ファイルの名前を変更したいなら,#packopt name "実行ファイル名"とします。

 命令
命 令意味例文
 ; コメントexec "notepad sample.txt"  ; ノートパッドを起動
*(英数字)ラベル。文頭から書く。*koko
boxf長方形の形に塗りつぶす。
パラメータなしであれば,clsと同じように全画面を塗りつぶす。
color 255, 255, 0: boxf
celload 画像ファイル名,ウインドウID画像を素材として読み込む。読み込んだファイルを表示する場合は,"celput ウィンドウID"のようにするcelload "sample.jpg", 1
celput ウィンドウID画像を表示するcelput 1
cls画面をクリアする。
0=白,1=淡灰,2=灰,3=暗灰,4=黒。
デフォルトは0。
cls 0
color r, g, b色をセットするpos 255, 255, 255
dialog 拡張子,タイプ,ファイルタイプの説明 拡張子には拡張子とその説明の文字列。
タイプには,
0=標準+[OK]
1=警告+[OK]
2=標準+[YES][NO]
3=警告+[YES][NO]
16=ファイルを開く
17=ファイルを保存
32=カラー選択(固定色)
33=カラー選択(RGB自由選択)
キャンセルされたかどうかは stat に,選択されたファイル名は refstr に入る。
dialog "きしも", 0, "dialog"
dialog "wav;*.mid;*.mpl;", 16, "メデイアファイル"
dim 配列名,最大配列数宣言しなくても配列は使える。dim hen, 100
とすれば,hen(0)~hen(99)まで確保できる
endウィンドウを閉じてプログラムが終了するend
exec プログラム名プログラムを起動するexec "notepad sample.txt"
font フォント名,サイズ,スタイルフォント名…msgothicか,msminchoか,あるいは他のフォント名("IMPACT"など)
サイズ…論理サイズ
スタイル…0なら通常,1なら太く,2ならイタリック,3なら太イタリック
font msgothic, 50, 1
if 条件式:条件が正しいときに実行される命令条件式の演算子には次のものがある。
= …同じ,! …違う,<, >, <=, >=
if x = 100: mes "OK"
getkey 読み込み変数, キーコードキーボードやマウスボタンの状態をチェックして変数に代入する。
指定したボタンが押されていれば 1 を代入し,押されていなければ 0 を代入。
キーコード
1, 2, 4…マウス左・右・真ん中ボタン
8, 9, 13, 16, 17, 18, 20, 27…backspace, TAB, enter, shift, ctrl, alt, esc
32…スペースキー
33, 34, 35, 36…pageup, pagedown, END, HOME
37, 38, 39, 40…←, ↑, →, ↓
48~57…メインキーボードの0~9
65~90…A~Z
96~105…テンキーの0~9
112~121…F1~F10
getkey shita, 40
gosub ラベル名サブルーチンへ。戻るときは returngosub *gm: mes a: stop: *gm: randomize: a=rnd(5): return
goto ラベルラベルにジャンプするgoto *koko
mes 文文を表示するmes "Hello, world!"
noteload ファイル名テキストファイルを読み込みnoteload "sample.txt"
notesave ファイル名, 変数名変数名のバッファ内容をテキストファイルに保存notesave "sample.txt", buf
notesel 変数名変数名 をメモリノートパッド命令のバッファに設定notesel buf
picload 画像ファイル名, ロードモード画像を表示する
ロードモード1なら,ウィンドウのサイズなどを変更せずロードする。pos命令で指定した座標が左上となる。
picload "sample.jpg"
pos x座標,y座標カレントポジションの位置を変更する。
以後,x座標の位置が変わらないように改行される。
pos 55, 100
repeat 繰り返し回数~loop指定回数繰り返す。繰り返し数が,システム変数の cnt に入る。repeat 5: mes "繰り返し" + cnt: loop
screen スクリーンID, 初期化width, 初期化heightIDのスクリーンの,幅,高さなどを変更するscreen 0, 600, 480
sdim 配列名,最大配列数文字列の配列の場合。sdim a, 100
とすれば,hen(0)~hen(99)まで確保できる
stopプログラムを停止するstop
title タイトル名タイトルバーに表示するtitle "きしも.com"
wait 待ち時間指定時間,実行を中断する。
ループの途中に入れる。
単位は10ミリ秒。
wait 100

 オブジェクト
オブジェクトのIDは,作成された順に0, 1, 2, …となる。
プロパティ…objsize x, y(サイズ),objsel ID(指定したオブジェクトにフォーカスを当てる)
命 令意味例文
button ボタン名,ラベルボタンが押されるとラベルにジャンプpush "PUSH", *flag
input 変数入力ボックスを表示し,
そこに入力された数値を変数に代入する。
input x
mesbox 文字列格納変数,幅,高さ,スタイルWindows の textareamesbox a, 500, 400

 関数
関 数意味例文
rnd(整数)0から整数以内の乱数を作る
前もって randomize 命令をしておくこと
rnd(100)ならば,0から99までのいずれかの乱数
gettime(タイプ)0年,1月,2曜日,3日,4時,5分,6秒,7ミリ秒h = gettime(4)