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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0901
Mitukica-- ができない5解決


Mituki

リンク

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 }



この記事に返信する


KA

リンク

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 "でっかい!" }



Noa

リンク

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



Noa

リンク

2015/9/1(Tue) 18:06:48|NO.71221

できるだけ同じようになるように書き直したのでいろいろと改善点はあると思います。



Mituki

リンク

2015/9/4(Fri) 19:42:37|NO.71316

THX!arigatoう



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