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


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
1003
初心者入力内容をクリアしたい3解決


初心者

リンク

2009/10/3(Sat) 12:43:23|NO.28113

こんにちは。

前回、double関数を教えて頂きました。

完成したと思っていたのですが、

いざ使ってみると、

GOボタンを何度も押すと答えがどんどん変わってしまうので、

入力した情報(数字)をクリアボタンでクリアしてから

もう一度別の情報を入力するとちゃんとまた計算するようにしたいんです。

HSPヘルプやサイトなど調べてみましたが、

ちんぷんかんぷなので

教えてください。

現状のスクリプトは




screen 0,200,220,0,0,0
picload "aaa.jpeg" ,1
gsel 0,2


value1 = "答え"

pos 10, 20 : mes "計算"
pos 10, 50 : mes " あ "
pos 10, 70 : mes " いう "
pos 10, 90 : mes " えお "
pos 10, 110 : mes "かきく"
pos 10, 130 : mes "けこさ"
pos 10, 150 : mes "しすせ"

pos 125, 50

input a, 50, 20, 3
input b, 50, 20, 3
input c, 50, 20, 3
input d, 50, 20, 2
input e, 50, 20, 2
input f, 50, 20, 2

pos 70, 180
button "GO", *check

stop

*check
a = double(a)
b = double(b)
c = double(c)

a *= 0.04
b *= 0.036
c *= 0.035

dialog ""+value1+"\n"+ strf("%.3f", a+b+c+d+e+f)+"


と、なってます。

数字を入力して計算し、次に違う数字入力して計算するときに

いくら数字を変えても変えなくても

答えがどんどん変わっていってしまうので、

クリアボタンを設置してそれを押してから計算するか、

一度GOボタンを押して計算して

答えはちゃんと表示されて

答えのとこにでてくるOKを押すと

クリアされる方法


どちらかを教えて頂きたいです。

宜しくお願い致します。



この記事に返信する


a

リンク

2009/10/3(Sat) 12:51:50|NO.28114

*check
a = double(a)
b = double(b)
c = double(c)

a2 = a * 0.04
b2 = b * 0.036
c2 = c * 0.035

dialog ""+value1+"\n"+ strf("%.3f", a2+b2+c2+d+e+f)+"

終了



GENKI

リンク

2009/10/3(Sat) 13:00:54|NO.28115

> input a, 50, 20, 3
> a = double(a)
> a *= 0.04

aに入力ボックスの値が代入されるのは、入力ボックスが書き換えられたタイミングです。
それ以外のときは通常の変数として動作するようです。

これをふまえてaの値はどのように変化するか追いかけてみてはどうでしょう。
inputから値を受け取る変数と計算に使用する変数は別々のものを使って分けるとすっきりしますよ。



初心者

リンク

2009/10/3(Sat) 13:34:29|NO.28116

a
GENKI
    様

お返事ありがとうございます〜

ちゃんと計算できました。

大変助かりました。

ホントありがとうございました。



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