LoginSignup
1
2

More than 5 years have passed since last update.

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

Posted at

備忘録。本当はこれの移植をやりたくて調べていたんだけど、コンソール上のカーソルの設定方法がわからなかった(構造体を使うしかない…)ため断念したのでまとめておく。
コンソールなのであまり気にすることはないと思うけど、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
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2