HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0629
イナウサ全角半角について6解決


イナウサ

リンク

2017/6/29(Thu) 17:45:09|NO.80433

お久しぶりです。現在ゲームを作っているのですが、今が全角入力になっているのか、半角入力になって
いるのかを判別するにはどうしたいいのですか?教えて下さい



この記事に返信する


ℭℜℴñʊs

リンク

2017/6/30(Fri) 07:00:49|NO.80441

もうちょいggって
これ参考
https://wiki.hsp.moe/%ef%bc%a9%ef%bc%ad%ef%bc%a5%e3%81%ae%e5%88%b6%e5%be%a1.html
上の奴を参考にしたモジュールとソース↓

#module "Ime_Control" //IMEの設定や取得に必要となるAPIや関数の定義 #uselib "imm32.dll" #cfunc global ImmGetContext "ImmGetContext" int #cfunc global ImmGetOpenStatus "ImmGetOpenStatus" int #func global ImmReleaseContext "ImmReleaseContext" int, int #func global ImmSetOpenStatus "ImmSetOpenStatus" int, int //IME定数 #define global IME_NOT_ERROR 0 ;異常なし #define global IME_ERROR -1 ;異常あり(エラー) #define global IME_OFF 0 ;IMEがOFF状態 #define global IME_ON 1 ;IMEがON状態 // IMEの設定をする // prm1を0(IME_OFF)に設定した場合はIMEはOFF // prm1を1(IME_ON)に設定した場合はIMEはON // それ以外をprm1で指定した場合は戻り値が-1(IME_ERROR)になる #deffunc ImeSet int prm1 imesw = prm1 if imesw < 0 | imesw > 1 { return IME_ERROR } himc = ImmGetContext(hwnd) ImmSetOpenStatus himc, imesw ImmReleaseContext hwnd, himc return IME_NOT_ERROR // IMEの情報を取得する // 戻り値が0(IME_OFF)の場合はIMEはOFF // 戻り値が1(IME_ON)の場合はIMEはON // 戻り値が-1(IME_ERROR)の場合はIME取得エラー #defcfunc ImeGet himc = ImmGetContext(hwnd) imesw = ImmGetOpenStatus(himc) ImmReleaseContext hwnd, himc if imesw = IME_OFF { return IME_OFF } else { return IME_ON } return IME_ERROR #global // ==============サンプル============== \\ screen 0, 320, 80, 0 title "Ime_Control sample" objsize 100, 32 pos 10, 40 button gosub "IME ON/OFF", *imesw repeat redraw 0 color 255, 255, 255 boxf color 0, 0, 0 pos 10, 10 mes "IME:"+ImeGet() redraw 1 await 1 loop *imesw isw ^= 1 ImeSet isw return



イナウサ

リンク

2017/6/30(Fri) 12:41:55|NO.80443

すいませんが、どの変数が0と1で入れ替わるのですか?



ℭℜℴñʊs

リンク

2017/6/30(Fri) 13:56:57|NO.80444

isw ^= 1
排他的論理和(演算子)
[例]

a ^= 1
この場合
変数a が 0と1交互に代入(加算減算はされない)
サンプルスクリプト

pos 10, 10 button "xor(^)命令", *xor_s pos 100, 10 stop *xor_s a ^= 1 ;a ^= 2 ;(試して) ;a ^= 3 ;(試して) mes "a = " + a stop
これを利用してIMEのON,OFFの切り替えをしている。



イナウサ

リンク

2017/6/30(Fri) 14:29:13|NO.80445

すいません質問が違いました。「スクリプト内の戻り値が代入される変数を教えて下さい。」



ℭℜℴñʊs

リンク

2017/6/30(Fri) 16:24:01|NO.80446

>スクリプト内の戻り値
何のスクリプト内の戻り値?



イナウサ

リンク

2017/6/30(Fri) 23:10:25|NO.80449

大丈夫でした。ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.