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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0126
アキスbutton命令でラベルに飛ばずにその行の命令を実行11解決


アキス

リンク

2007/1/26(Fri) 19:03:01|NO.5180

button命令でラベルに飛ばずにその行の命令を実行できるようにして欲しいです。

つまりぃ・・・・
ボタンがされた時、IFみたいにそのボタンを設置した行の命令を処理する。
ということです。

検討お願いします。
 別の方法があるなら教えてもらいたいです・・・。



この記事に返信する


ゆちボン

リンク

2007/1/26(Fri) 19:05:29|NO.5182

>別の方法があるなら教えてもらいたいです・・・。
むちゃくちゃですが、winobjを使えばできます。
いや、それだと1行どころじゃなくなりますが(^^;



Irisawa

リンク

2007/1/26(Fri) 19:23:20|NO.5187

何をしたいのかがよく分かりませんが、それは逆に分かりにくくなるだけだと思います。
もし、どうしても実装して欲しいのならなぜ実装して欲しいのか、どういう利点があるのか
明確にした方がいいです。
button命令はWM_COMMANDを捕捉しています。
ボタンとボタンを押した際の状態に関連性はないので不自然ではないでしょうか。



As

リンク

2007/1/26(Fri) 19:26:42|NO.5190

http://hspwiki.nm.land.to/?cmd=read&page=eseobj%2Fimgbtn
一応これなんかはそういった動作の種類ですが、オブジェクトではなく
似非オブジェクトになります^^;



As

リンク

2007/1/26(Fri) 19:35:49|NO.5191

もしくは


*mainloop if flag=0{ button gosub "btn",*@f flag=1 } repeat 0 *@ color 255,255,255 boxf color pos 0,40 mes ""+count count+ return loop wait 1 goto *mainloop



トホホッティー

リンク

2007/1/26(Fri) 19:35:59|NO.5192

その行の命令を、ボタンで飛んだラベルの行にすればいいだけではないですか?



アキス

リンク

2007/1/26(Fri) 21:31:17|NO.5199

>トホホッティーさん
ラベルの消費を避けたかっただけです。

一応
#defineの特殊展開マクロのラベル生成のマクロで実装することにします。
出来るかどうかわかりませんが・・・・・。



トホホッティー

リンク

2007/1/26(Fri) 21:47:25|NO.5201

>ラベルの消費を避けたかっただけです。

ちょっと当たり前のことを指摘してしまったようです。どうもすみませんでした。

確かにボタン多用したプログラムはラベルが乱立しますね。
HSP本体自体に機能が多くありすぎると確か不都合なことがあったと思います。
自前でやられるようですのでできたらみせていただけると嬉しいです。
僕が考えたのはボタンを自前で作ってif文で判定させて分岐させることですね。
これも当たり前の考えかも。



93

リンク

2007/1/26(Fri) 21:56:03|NO.5202

button で飛ぶとstatに値が戻るのでgosubで飛ばして判定するとかではだめなのですか?
それなら、ラベルは1つで済みますが・・・



Irisawa

リンク

2007/1/26(Fri) 23:03:23|NO.5204

言い忘れていましたがもしご所望の機能が実装されるとbutton命令の後ろに
マルチステートメントで記述できなくなってしまいます。
マルチステートメントは見苦しいのであまり使用すべきではありませんが、そもそも
その、使用状況や性質がifとbuttonではまったく異なるものなので無理がありすぎます。



g

リンク

2007/2/1(Thu) 17:24:31|NO.5352

遅レスですが。


#define mybtn(%1) %tmybtn button gosub %1, *@f :\ *@ : objsel -1 : if(stat == -1) { goto *%i } #define mybtn_end %tmybtn return: *%o mybtn "aaa" //押したときの動作 mes "aaa" //ここまで mybtn_end mybtn "bbb" : mes "bbb" : mybtn_end //一行可

とか。
objselが-1(未選択)なのを利用してるんで、
ボタン設置前にinputとかフォーカス合っちゃうやつ置いちゃうとダメなんですけど。



アキス

リンク

2007/2/2(Fri) 21:04:24|NO.5374

便利なスクリプトを提供させていただいてありがとうございます。



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