リファレンス 12 ドキュメント 2 サンプル 18
basic 38 comobj 15 d3m 24 demo 1 game 12 hgimg 12 hgimg3 19 hsp3imp 1 hspcl 9 hspcv 5 hspda 10 hspdb 3 hspdx 5 hspext 16 hspinet 5 hspsock 5 new 29 ssaver 1

basic

Path : sample\basic
aviplay.hsp
window内aviファイル再生サンプル dialog "avi",16,"aviファイル" if stat=0 : goto *dlcan fname=refstr mmload fname,1 screen 0,640,480,0 cls 4 objsize 160,32 pos 0,0 button "PLAY",*gogo pos 160,0 button "END",*dlcan pos 0,32 stop *gogo mmplay 1 stop *dlcan end
sample\basic\aviplay.hsp - 2007/07/31
cdplay.hsp
簡易CDプレイヤーサンプル ( 現在演奏中のトラックを監視するバージョン) mci "capability cdaudio can play" if stat!0 : dialog "デバイスは使用中です",1:end mci "status cdaudio number of tracks" if stat<0 : dialog "CDがセットされていません",1:end maxtrack=stat onexit *owari 終了した時のジャンプ先 mci "open cdaudio
sample\basic\cdplay.hsp - 2007/07/31
chkbox.hsp
syscolor 15:boxf オブジェクトの表面色で背景を塗りつぶす mes "Check box test" a1=1:a2=0 objsize 80,24 chkbox "変数a1",a1 chkbox "変数a2",a2 button "OK",*chkok stop *chkok m="現在の状態\na1="+a1+"/a2="+a2 dialog m stop
sample\basic\chkbox.hsp - 2007/07/31
clock.hsp
#include "hsp3util.as" gettimestr,getdatestrを使うため t1="":t2="" objsize 120,20 mesbox t1,160,32,0 メッセージボックスを表示 (オブジェクトID0になります) mesbox t2,160,32,0 メッセージボックスを表示 (オブジェクトID1になります) *tmprt gettimestr t1 getdatestr t2 objprm 0,t1 メッセージボックスID0の内容を更新 objprm
sample\basic\clock.hsp - 2007/07/31
clock2.hsp
#include "hsp3util.as" gettimestr,getdatestrを使うため screen 0,320,80 画面サイズ指定 font msgothic,30,1 文字サイズを指定 t1="":t2="" *tmprt gettimestr t1 時刻を取得 getdatestr t2 日付を取得 redraw 0 color 255,255,255:boxf 白い色で背景を塗りつぶす color 0,0,0 文字の色 pos 0,0:mes t1 時刻を表示 pos
sample\basic\clock2.hsp - 2007/07/31
dirlist.hsp
ディレクトリ一覧表示サンプル (入力したディレクトリに移動できます) dirbuf="" sel=0 ad="" objsize 200,24:pos 0,30 listbox sel,200,dirbuf input ad button "ディレクトリ変更",*chg *getdir color 255,255,255:boxf 0,0,640,24 color 0,0,0:pos 0,0:mes "DIR="+dir_cur dirlist dirbuf,"*.*" objprm
sample\basic\dirlist.hsp - 2007/07/31
editor.hsp
title "size="+strlen(buf) テキストサイズをタイトルに表示 goto *main *file_save dialog "txt",17,"テキストファイル" if stat=0 : goto *dlcan fname = refstr exname=getpath(fname,2) ファイル名の拡張子を取得 if exname="" : fname+=".txt" 拡張子がなければ.txtを追加 notesel buf notesave fname
sample\basic\editor.hsp - 2007/07/31
fonts.hsp
cls 4 color 255,155,55 boxf 0,84,640,90 boxf 0,0,640,40 font "Arial",20,17 pos 20,8 color 0,0,0 mes "HSP ver3.0 font test" font "Arial",20,16 color 255,255,255 pos 40,60 mes "Non-Anti-aliased" pos 360,60 mes "Anti-aliased" color 255,255,255 pos
sample\basic\fonts.hsp - 2007/07/31
getpath.hsp
title "getpath関数のテスト" screen 0,640,320 mes "ファイルを開いて下さい。" dialog "*",16:if stat=0 : end a=refstr mes "すべて取り出す。" mes getpath(a,0) mes "拡張子を除いた部分を取り出す。" mes getpath(a,1) mes "拡張子を取り出す。" mes getpath(a,2) mes "ファイル名のみ取り出す。
sample\basic\getpath.hsp - 2007/07/31
groupbox.hsp
Group Box例 syscolor 15:boxf sdim bb,1024 st1="" st2="Static Text Message..." objsize 300,100 pos 10,20 mesbox st1,280,70,2 pos 40,40 mesbox st2,200,40,2 pos 0,0 button "GROUPBOX",*dummy sendmsg objinfo_hwnd(2),$f4,7,0 pos 0,120 input bb stop *dummy
sample\basic\groupbox.hsp - 2007/07/31
gsel.hsp
gsel命令サンプル (3つのボタンで、もう1つのウインドゥの状態をコントロール) width 320,200 mes "MAIN" button "OFF",*sc0 button "ON1",*sc1 button "ON2",*sc2 screen 2,320,200 cls 4 mes "screen2" gsel 0,1 stop *sc0 gsel 2,-1 stop *sc1 gsel 2,1 stop *sc2 gsel 2,2 stop
sample\basic\gsel.hsp - 2007/07/31
gstyle.hsp
gstyle命令テスト screen 0,320,24 cls 3 color 255,255,255 mes "新しいウインドゥスタイル" screen 2,320,120,4 cls 2 mes "ID2以降のサイズ固定Window" screen 3,320,120,8 cls 2 mes "ツールWindow(タスクバーに出ません)" screen 4,320,120,16 cls 2 mes "縁の深いWindow" stop
sample\basic\gstyle.hsp - 2007/07/31
htcopy1.hsp
半透明コピーテスト1 screen 0,640,200,0 buffer 4,640,200,0 color 255,0,0 boxf 0,0,640,200 color 0,0,255 boxf 320,0,640,100 boxf 0,100,320,200 buffer 3,640,200,0 picload dir_exe+"\\docs\\hsp3ttl.jpg" gsel 0 *start pos 0,0 repeat 32 redraw 0 gmode 0,640,200
sample\basic\htcopy1.hsp - 2007/07/31
htcopy2.hsp
半透明コピーテスト2 screen 0,640,200,0 buffer 4,640,200,0 color 255,0,0 boxf 0,0,640,200 color 0,0,255 boxf 320,0,640,100 boxf 0,100,320,200 buffer 3,640,200,0 picload dir_exe+"\\docs\\hsp3ttl.jpg" gsel 0 *start pos 0,0 repeat 33 redraw 0 gmode 0,640,200
sample\basic\htcopy2.hsp - 2007/07/31
line.hsp
redraw命令によるバッファ書き込みの速度テスト。 line命令を400回実行する際の違いを見ることができます。 ノーマルな描画の速度に比べて、redrawスイッチを0にして書き込んで おき、最後にredraw 1を実行した方が圧倒的に速度が違うのがわかると思います。
sample\basic\line.hsp - 2007/07/31
memcpy.hsp
メモリコピーテスト a="TEST MESSAGE" b="" memcpy b,a,16,0,5 mes "A="+a mes "B="+b memset b,'@',16,5 mes "B="+b stop
sample\basic\memcpy.hsp - 2007/07/31
memfile.hsp
bloadで読み込んだ画像データをpicloadで表示する (メモリストリームの例) notesel buf 読み込みバッファをbufに指定 fname=dir_exe+"\\docs\\hsp3ttl.jpg" noteload fname サイズ可変バッファbufにファイルを読み込み memfile buf ストリームの直前で指定してください picload "MEM:a.jpg" 画像の拡張子識別のためダミー名a.jpgを使用 sdim buf,64
sample\basic\memfile.hsp - 2007/07/31
memnote.hsp
メモリノートパッド命令テスト a="abc\ndef\nhij" notesel a noteload "memnote.hsp" mes "行数="+notemax mes "文字数="+notesize repeat notemax noteget b,cnt mes "#"+cnt+":"+b loop noteunsel stop
sample\basic\memnote.hsp - 2007/07/31
mesinfo.hsp
title "MES命令の表示範囲取得" screen 0,640,240 font msgothic,50,font_bold|font_antialias a="Hot Soup Processor":gosub *test a="Ver3.0 testing":gosub *test stop *test color 0,0,0 cx=ginfo_cx:cy=ginfo_cy mes a mx=ginfo_mesx:my=ginfo_mesy mes "SX="+mx+"/SY="+my
sample\basic\mesinfo.hsp - 2007/07/31
modtest1.hsp
title "サイズ="+stat タイトルにファイルサイズ表示 objprm 0,txt *tover stop
sample\basic\modtest1.hsp - 2007/07/31
modtest2.hsp
#include "modtest2.as"」を入れることで使用できます。 通常のbload命令では、テキストを読み込んだ場合、以前に ロードされたテキストの一部が残ってしまう現象が起こる ことがありましたが、txtload命令はロードしたテキストの 最後に文字列の終了コード(0)を自動的に入れるので、 そうした問題がなくなります。
sample\basic\modtest2.hsp - 2007/07/31
modtest3.hsp
#module #deffunc strnum var _p1,int _p2 strnum 変数, 数値 で、変数に[数値]という文字列を代入する。 _p1="["+_p2+"]" return #global strnumで指定された変数は、強制的に文字列型になる。 変数aをためしに数値(0)で初期化。 a=0 strnumを呼び出す strnum a,123 変数aを表示。変数aは文字列になっている。
sample\basic\modtest3.hsp - 2007/07/31
modtest4.hsp
#module #deffunc varchk var _p1 varchk 変数 で、変数についての情報を表示する。
sample\basic\modtest4.hsp - 2007/07/31
mouse.hsp
マウスカーソルの座標を調べて表示します。 ボタンを押すとマウスカーソル表示ON/OFF、ランダムジャンプが可能です。
sample\basic\mouse.hsp - 2007/07/31
note1.hsp
メモリノートパッド命令テスト1 "note1.hsp"にインデックス番号をつけて表示 nmax=0 b="" notesel a noteload "note1.hsp" idx=0 repeat notemax noteget b,idx print "index"+idx+"="+b idx++ loop stop
sample\basic\note1.hsp - 2007/07/31
note2.hsp
メモリノートパッド命令テスト2 選んだファイルをメッセージボックスに表示。
sample\basic\note2.hsp - 2007/07/31
noteadd.hsp
title "テキストファイル作成" screen 0,320,240 cls 1 mes "指定範囲の数をテキストファイルに出力" objmode 1 pos 0,40:input p_start pos 80,40:mes "to" pos 110,40:input p_end pos 0,80:button "作成",*go stop *go buf="#NUM FILE" notesel buf i = p_end-p_start+1:if i<0 : end repeat i
sample\basic\noteadd.hsp - 2007/07/31
objmode.hsp
title "press [TAB] key" cls 1 objsize 160,24 pos 20,20 objmode 1,1 button "BYE",*ok objmode 2,1 font "Modern",14 chkbox "Check Box",a bb="OBJECT TEST" font "Lucida Console",14,1 input bb sysfont 11 ed="MesBox Test..." mesbox ed,160,100,0 ly=0
sample\basic\objmode.hsp - 2007/07/31
objsel.hsp
title "ID="+curid wait 10 goto *keychk *owari end
sample\basic\objsel.hsp - 2007/07/31
onerror.hsp
エラートラップ onerror *emsg a="kkk"*4 エラーが起こります stop *emsg エラー発生時にここに飛んできます dialog "エラーが発生しました。
sample\basic\onerror.hsp - 2007/07/31
onexit.hsp
onexit *exit mes "スクリプト終了テスト(クローズボックスを押してみてください)" button "END",*owari stop *exit dialog "終了していいですか?",2,"On exit prompt" if stat=7 : stop *owari end
sample\basic\onexit.hsp - 2007/07/31
onkey.hsp
onexit goto *owari 終了時にジャンプ onkey goto *inkey キー入力時にジャンプ onclick goto *inmouse マウスクリック時にジャンプ btnmes="END" mes "メッセージを入力して[Enter]" objsize 600,24 a="" input a button btnmes,*owari ボタン名に変数も使用できます *ao stop *inkey if iparam=229 : goto *ao IMEからの日本語入力 if
sample\basic\onkey.hsp - 2007/07/31
picload.hsp
JPEGロード & BMPセーブをするスクリプト width 320,80 objsize 300,24 button "画像ファイルロード",*fload button "BMPセーブ",*fsave screen 2,640,480 gsel 2,-1 stop *fload dialog "bmp *.jpg *.gif",16,"画像ファイル" if stat=0 : goto *failed gsel 2,1 picload refstr stop *fsave dialog
sample\basic\picload.hsp - 2007/07/31
stars.hsp
test1 randomize cls 4 font "MS ゴシック",40,1 repeat color rnd(256),rnd(256),rnd(256) pos rnd(640)-20,rnd(480)-20:mes "★" wait 1 loop stop
sample\basic\stars.hsp - 2007/07/31
stick.hsp
stick命令によるメニュー選択サンプル cls 4 color 255,255,255 pos 300,180:mes "SELECTION-1" pos 300,200:mes "SELECTION-2" pos 300,220:mes "SELECTION-3" pos 300,240:mes "PROGRAM END" a=0 x=280:y=180:sel=0:maxsel=3 *selmain color 0,0,0:boxf x,y,x+20,y+20 y=sel*20+180
sample\basic\stick.hsp - 2007/07/31
str.hsp
10進数<->16進数変換サンプル a=0 b="" pos 0,0:input a pos 0,30:input b pos 70,2:mes "10進数" pos 70,32:mes "16進数" pos 0,60 objsize 200,24 button "10進->16進変換",*in10 button "16進->10進変換",*in16 button "終了",*owari stop *in10 n=strf("%x",a) objprm 1,n stop *in16
sample\basic\str.hsp - 2007/07/31
strmid.hsp
i=" -" mes i a="ABCDEFG" mes "もとの文字列="+a b=strmid(a,0,3) mes "左から3文字を取り出す="+b b=strmid(a,-1,3) mes "右から3文字を取り出す="+b b=strmid(a,2,3) mes "2文字目から3文字を取り出す="+b mes i c=instr(a,0,"FG") mes "文字列「FG」のある場所="+c c=instr(a,0,"AB") mes "文字列「AB」のある場所="+c
sample\basic\strmid.hsp - 2007/07/31
switch.hsp
title "SWITCH~CASE Test" screen 0,240,160 a=-1 combox a,100,"青\n赤\n緑" *main while bak_a=a:wait 5:wend bak_a=a switch a case 0 color 0,0,255 swbreak case 1 color 255,0,0 swbreak case 2 color 0,255,0 swbreak default color 128,128,128 swbreak swend
sample\basic\switch.hsp - 2007/07/31