|
|
|
2015/9/1(Tue) 17:29:07|NO.71216
現在タイマーを作っているんですが、ca--ができません。Errorが出てしまいます.
まだつくりかけですが・・・
あと、60を0にする機能もできません。どうすれいいでしょう?
a="" :b="" :ca=""
aas=200
num=70
*goting
color 255,255,255:boxf
color 0,0,0
clrobj
objmode 1
pos 0,0
button "時間設定",*set
button "スタート",*start
font "",70,2
pos 200,200
aa = strf("%03d:", a) + strf("%02d:", b) + strf("%02d", ca)
mes aa
stop
*set
clrobj
color 255,255,255:boxf
color 150,150,150
font "",70,2
aa = strf("%03d:", a) + strf("%02d:", b) + strf("%02d", ca)
pos 200,200
mes aa
color 0,0,0
font "",30
pos 0,0
mes "必要な時間を設定してください。"
pos 0,100
objmode 2
input a,,40,3
pos 70,100
mes ":"
pos 80,100
input b,,40,2
pos 150,100
mes ":"
pos 160,100
input ca,,40,2
objmode 1
button"完了",*che_k
stop
*start
clrobj
repeat 30
redraw 0
color 255,255,255:boxf
color 0,0,0
num++
font "",num,2
pos aas,aas
aas-3
aa = strf("%03d:", a) + strf("%02d:", b) + strf("%02d", ca)
mes aa
wait 5
redraw 1
loop
repeat
redraw 0
color 255,255,255:boxf
color 0,0,0
font "",num,2
pos aas,aas
if ca=0 :ca=59:b--
if b=0 :b=59:a--
aa = strf("%03d:", a) + strf("%02d:", b) + strf("%02d", ca)
mes aa
ca--
await 1000
redraw 1
loop
stop
*che_k
if b<=60 {
ca=0:b=0
}
else
if ca<=60 {
ca=0:b=0
}
| |
|
2015/9/1(Tue) 17:39:37|NO.71217
ca=0 にしてみよう。
|
|
2015/9/1(Tue) 17:47:05|NO.71219
文字列変数に論理演算を行うと、「サポートされない機能うんぬん」というエラーが出ます。
一見、何のこっちゃと思いますが要するに、if文で数値変数のつもりで文字列変数を
扱ったがゆえのエラーです。
以下のサムプルでご理解いただけるかと。(´ω`)
a = "12"
if a < 13 {
dialog "ちっちゃい!"
} else {
dialog "でっかい!"
}
|
|
2015/9/1(Tue) 18:04:37|NO.71220
他の方が既に書いていますがエラーになるのは整数型変数ではなく文字列型変数になっているためです。
わたしは他人のことをいえる立場ではありませんが一度本などで勉強してみるといいと思います。
dim a :dim b :dim ca
dim aaa : dim num
*goting
cls
objmode 1
aas=200
num=70
pos 0,0
button "時間設定",*set
button "スタート",*start
font "",70,2
pos 200,200
mes strf("%03d:", a) + strf("%02d:", b) + strf("%02d", ca)
stop
*set
cls
color 150,150,150
font "",70,2
pos 200,200
mes strf("%03d:", a) + strf("%02d:", b) + strf("%02d", ca)
color 0,0,0
font "",30
pos 0,0
mes "必要な時間を設定してください。"
pos 0,100
objmode 2
input a,,40,3
pos 70,100
mes ":"
pos 80,100
input b,,40,2
pos 150,100
mes ":"
pos 160,100
input ca,,40,2
objmode 1
button"完了",*che_k
stop
*start
clrobj
//だんだん大きくする
repeat 30
redraw 0
color 255,255,255:boxf
color 0,0,0
num++
font "",num,2
pos aas,aas
aas-=3
mes strf("%03d:", a) + strf("%02d:", b) + strf("%02d", ca)
wait 5
redraw 1
loop
//カウント部
repeat
redraw 0
color 255,255,255:boxf
color 0,0,0
font "",num,2
pos aas,aas
if ca<0 : ca=59 : b--
if b<0 : b=59 : a--
if a<0{
dialog "おしまい"
a=0 : b=0 : ca=0
break
}
//aa =
mes strf("%03d:", a) + strf("%02d:", b) + strf("%02d", ca)
ca--
await 1000
redraw 1
loop
goto *goting
*che_k
if b>=60 | b<0 : b=0
if ca>=60 | ca<0 : ca=0
goto *goting
| |
|
2015/9/1(Tue) 18:06:48|NO.71221
できるだけ同じようになるように書き直したのでいろいろと改善点はあると思います。
|
|
2015/9/4(Fri) 19:42:37|NO.71316
THX!arigatoう
|
|