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


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0615
科学太郎エンターキーの検出方法は?4解決


科学太郎

リンク

2019/6/15(Sat) 18:11:06|NO.87606

【質問】
input命令内でエンターキーの押し下げを検出する方法を知りたいです。

【目的】
input命令内の数式をエンターキーの押し下げで
・整数電卓の計算
・実数電卓の計算
・関数電卓の計算
・10進数→16進数
・16進数→10進数
・10進数→2進数
・2進数→10進数
・16進数→2進数
・2進数→16進数
などの計算をしたいと考えてます。



この記事に返信する


窓月らら

リンク

2019/6/15(Sat) 19:34:34|NO.87608

これでどうでしょうか。

onkey gosub *sub_key objsize 100 input strtmp ; オブジェクトID 0 stop *sub_key // wparamにキーコードが入る(Enter=13) if wparam=13 { dialog "Enter が押されました。" } return



窓月らら

リンク

2019/6/15(Sat) 19:41:36|NO.87609

文字列型になってなかったので一応修正。。

onkey gosub *sub_key strtmp="" input strtmp stop *sub_key // wparamにキーコードが入る(Enter=13) if wparam=13 { dialog "Enter が押されました。" } return



Ponyo

リンク

2019/6/15(Sat) 20:10:45|NO.87610

外部からの追記ですが特定のオブジェクトのみ動作したい場合なら、
objsel -1 で stat にアクティブな(選択されている)オブジェクトIDが代入されます。
後は if で繋げるだけです。複数のオブジェクトが存在する時、
特定のオブジェクトしか使用できないようにしたいのならこの方法をお勧めします😄



科学太郎

リンク

2019/6/15(Sat) 20:37:23|NO.87611

窓月ららさん。
回答ありがとうございます。

確かに「Enter」キーの押し下げを検出できますね。
この方法は、確かに知っていたのですが、
input命令のエディットボックス内で
「Enter」キーの押し下げを検出したいのです。

【理由】
現在、製作中のソフトは時計ソフトの
一部で時計ペインを「Enter」キーで押すとランチャー・ボタン(8個)が消えてエディットボックスが現れ、
続けて時計ペインを「Enter」キーで押すとランチャー・ボタン(8個)が現れてエディットボックスが消える。
そのため、エディットボックス内にフォーカスがある場合に
「Enter」キーの押し下げを検出したいのです。

Ponyoさん。
回答ありがとうございます。

> 外部からの追記ですが特定のオブジェクトのみ動作したい場合なら、
> objsel -1 で stat にアクティブな(選択されている)オブジェクトIDが代入されます。
なるほどね。
これで切り分けできるのですか。
参考になりました。

#enum BID_PUSH01=0 #enum BID_PUSH02 #enum EID_LINE01 #enum BID_PUSH03 #enum BID_PUSH04 #enum EID_LINE02 #enum BID_PUSH05 #enum BID_PUSH06 *Init sdim sBuff1 sdim sBuff2 *Main button gosub "1", *Push button gosub "2", *Push input sBuff1 button gosub "3", *Push button gosub "4", *Push input sBuff2 button gosub "5", *Push button gosub "6", *Push onkey gosub *sub_key stop *Push return *sub_key // wparamにキーコードが入る(Enter=13) if(wparam==13){ objsel -1 if(stat==EID_LINE01):dialog "Enter が押されました。",0,"EID_LINE01" if(stat==EID_LINE02):dialog "Enter が押されました。",0,"EID_LINE02" } return

これで期待通りの動作になりました。



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