| 00147 98/12/20 05:40 | RE:00146 改題 switch−case文について |
| 投稿者 : かずや | コメントを投稿する |
>使うたびに誤動作してしまって、どうも苦手なんですよ。 switch文は、wait文+if文を階層化したのと 同等の意味を持つものなので switch文が使えないのであれば wait文+if文で試してみてはどうでしょうか? ただし、サイズはでかくなります。 それで、wait文+if文でうまく動作すれば switch文に変換して それで試してみて、誤動作するようなのであれば switch文がバグってます(^-^; 例: ▼ switch文を使ったスクリプトが↓ならば・・・ loopswitch case case "リターン" send "^M" case "ループ" loopagain case "ブレーク" breakloop endloop ▼ wait文+if文は↓のようになる timeout 30 beginloop wait "リターン","ループ","ブレーク" if(result == 1) send "^M" elseif(result == 2) loopagain elseif(result == 3) breakloop elseif(result == -1) ;タイムアウト処理 message "タイムアウト発生!" endif endloop 以上。あえて else文のみの分岐は使っていませんが サイズを考慮するなら、分岐の1つに else を使ってください。 >FEO(フェリシモオンライン)スクリプトに使った >switch−case文を載せておきます。 FEOがどういう仕様なのか分かりませんが loopswitch文の使い方は間違っていないようですね 今 得ている情報では、誤動作する原因が分かりません。 誤動作の種類だけでも教えていただけませんか? ・"リターンキーを押して下さい"を受信しているのに 'send "^M"' が動作しない ・"選択して下さい >"を受信しているのに ループから抜けない ・その他・・・ 途中に readbuffer文 や message文を挿入することで デバッグすることもできるので、よければ試してください >通常使っているスクリプトは以下の通りです。 >Return: > wait "リターンキーを押して下さい" 前述のスクリプトでは 'リターンキー'は全角ですが このあたりに間違いはありませんか? |
| 00148 98/12/20 09:26 | RE:00147 改題 switch−case文について |
| 投稿者 : となりのニャンコ | コメントを投稿する |
> >FEO(フェリシモオンライン)スクリプトに使った > >switch−case文を載せておきます。 > FEOがどういう仕様なのか分かりませんが > loopswitch文の使い方は間違っていないようですね > > 今 得ている情報では、誤動作する原因が分かりません。 > 誤動作の種類だけでも教えていただけませんか? > ・"リターンキーを押して下さい"を受信しているのに > 'send "^M"' が動作しない > ・"選択して下さい >"を受信しているのに > ループから抜けない > ・その他・・・ "リターンキーを押して下さい"を受信しているのに 'send "^M"' が動作しない という症状です。動かないときは、何回やり直しても動きませんし、 忘れた頃にやってみると「あれ、動いてる」という感じです。 hidetermのシステムかwindowsのシステムが疲れてくると、このような症状がでてく るのではないかなと、疑っているのですが、 ちなみにうちのパソコンのシステムは、長くても2ヶ月しか持ちません。短いとき は半月で、再セットアップです。 忘れた頃に動くというのも再セットアップした後だからかもしれません。 もしwindowsのシステムの痛みが原因だとしたら、配布するスクリプトには組み込ん ではならないコマンドということになってしまいますが。 > >通常使っているスクリプトは以下の通りです。 > >Return: > > wait "リターンキーを押して下さい" > 前述のスクリプトでは 'リターンキー'は全角ですが > このあたりに間違いはありませんか? このあたりの間違いはありません。 この会議室に投稿するのに「半角かな」は文字化けするかなと思って全部を全角 に書き換えたつもりだったのですが、一つだけ忘れたんですね。 |
| 新規に投稿する |