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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0912
Mituking[元mituki]現在、SYSEXITを使って指定時間後にシャットダウンを作っているんですが・・・[長文ごめん]5解決


Mituking[元mituki]

リンク

2015/9/12(Sat) 15:06:22|NO.71616

このソースコードです。

title "[指定時間後に終了]{{ Ver1.1.1 }}" enh="00" enm="00" ens="30" syscolor 0x4:boxf color 0,0,0 font "",30 objsize 30,20 button "即再",*endnum1 objsize 30,20 button "即終",*endnum2 objsize 30,20 button "即ロ",*endnum3 pos 30,3 color 0,0,0 mes "時間設定" objmode 2 input enh,43,35,2 pos 71,35 mes "時間" pos 130,35 input enm,43,35,2 pos 172,35 mes "分" pos 201,35 input ens,43,35,2 pos 243,35 mes "秒" pos 149,0 objsize 142,35 font "",25 button "終了START",*enstart dialog "指定時間後に終了 \n\n[シャットダウン、再起動、ログオフが可能です。]\n\nBy Mituki\n\n注意[セーブしていない内容は失われます。]" stop *endnum1 ;省略 stop *endnum2 ;省略 stop *endnum3 ;省略 stop *enstart clrobj syscolor 0x4:boxf repeat 1 wait 100 loop repeat ;リピート redraw 0 syscolor 0x4:boxf color 0,0,0 pos 50,50 font "",40 mes "終了までの時間="+enh+":"+enm+":"+ens+"" if ens=0 :enm-=1 :ens=59 if enm=0 :enh-=1 :enm=59 ;原因 ens-=1使用とすると、ERROR21が出る await 1000 redraw 1 loop
61行目に書いてあるとおり、Error21が出ます。どうすればOkか、教えてください。



この記事に返信する


Snake

リンク

2015/9/12(Sat) 15:20:28|NO.71617

>ens="30"
の部分を
>ens=30
に修正

>enm="00"
の部分を
>enm=0
に修正してください。

変数で数を引くときは kazu-1と書いたほうが比較的便利です。

また,十の位に0を表すときはifで分岐しましょう。
例えば,分(変数 enm)が10以下の場合。(つまり,10分より少ない時間のとき)
>if enm<9 : ennm=enm: enm="0"+ennm
と実装するといいでしょう。

ちなみに,Error21は「サポートされない機能を選択しました」です。
原因は,変数ensが文字列型なのにひき算をしようとしたためにエラーが発生したのだと思います。
必ずしも hensu="171"のように数値は文字列に変えなくても hensu=171でできます。

また何かわからない事があれば質問してくださいね。



mituki_sumaho

リンク

2015/9/12(Sat) 19:43:33|NO.71620

わかりました。こんな初心者でごめんなさい。



mituki_sumaho

リンク

2015/9/12(Sat) 19:44:29|NO.71621

😄ありがとうございます。



mituki_sumaho

リンク

2015/9/12(Sat) 19:44:51|NO.71622

解決



Mituking[元mituki]

リンク

2015/9/12(Sat) 20:34:14|NO.71624

😄 << うわ!?



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