HSP

HSPでコンソール出力の色を変える

More than 1 year has passed since last update.

備忘録。本当はこれの移植をやりたくて調べていたんだけど、コンソール上のカーソルの設定方法がわからなかった(構造体を使うしかない…)ため断念したのでまとめておく。

コンソールなのであまり気にすることはないと思うけど、dll使っているので環境依存です。linuxでは多分動かないかな?

#runtime "hsp3cl"

#define STD_OUTPUT_HANDLE -11
#define STD_ERROR_HANDLE -12

#uselib "kernel32"
#cfunc GetStdHandle "GetStdHandle" int
#func SetConsoleTextAttribute "SetConsoleTextAttribute" int,int
#func WriteConsole "WriteConsoleA" int,str,int,int

mes "いつもの色"
hErr=GetStdHandle(STD_ERROR_HANDLE)

repeat $100
SetConsoleTextAttribute hErr,cnt
puts=strf("%02X ",cnt)
WriteConsole hErr,puts,strlrn(puts),0
if cnt\$10=$F : mes ""
loop

SetConsoleTextAttribute hErr,$7