00100 98/11/03 04:09 RE:00095 ddewaitadviceコマンドについて
投稿者 : となりのニャンコ   コメントを投稿する

>timeout 60
>loopswitch
> case "選択して下さい"
> 処理
> case "リターンキーを押して下さい"
> 処理
> case "メッセージを編集しますか"
> 処理
> case "メッセージを登録しますか"
> 処理
> case ""    ; 「なんにもない」をwaitする
> 処理
> case timeout
> breakloop
>endloop

よこしまさんへ
このスクリプト間違ってるんじゃないですか
そもそもcaseやwait命令で
case ""    ; 「なんにもない」をwaitする
なんてこと自体最初から無理なんじゃないですか。
だって
case "選択して下さい"
っていう命令は、全部を書かなくてもいいんでしょ
case "選"    でもいいし
case "択"    でもいいし
case "して下さい"  でもいいわけでしょ

1文字でさえいいんだからもし0もじでもいいんだったら
case ""
と言うところにすべてのcaseが反応してしまうんじゃないですか。
コンピューターってそう言うもんじゃないんですか。

送信スクリプトって言うものは
まず、wait"選択して下さい"  で、
             wを入力して
次に、wait"タイトル"  で、
             タイトルを入力して
次に、wait"本文"      で、
             本文1行目を送信する
ここまでは、ホストから文字が送られてくるから、
  よこしまさんのスクリプトでも動きますよ。
その次の本文2行目以降は、
   ホストから文字が送られてこないんだから
よこしまさんのスクリプトが動くわけ無いじゃないですか。
loopswitch-case-endloop
   のコマンドでは最初から無理だったんじゃないですか


00101 98/11/03 05:49 RE:00100 ddewaitadviceコマンドについて
投稿者 : かずや   コメントを投稿する

>このスクリプト間違ってるんじゃないですか
その通りです(笑)これは明らかに説明不足ですね(^-^;

>case ""
>と言うところにすべてのcaseが反応してしまうんじゃないですか。
>コンピューターってそう言うもんじゃないんですか。
そういうことですね。
だから、postidleなどがあるわけですが、これについては後述します。

>loopswitch-case-endloop
>   のコマンドでは最初から無理だったんじゃないですか
使い方によっては、そうとも言い切れません。
いろいろなコマンドがあって、いろいろと工夫できるので
その中で、1番自分にあった使い方をすればいいと思います。

σ(^-^)個人の意見では、パスワード変数を
send系文で隠す必要はないと思います。
なぜかと言うと「テストしやいから(^-^;」これだけですが(笑)
それに、わざわざ、メッセージ文などを使って、自分が登録した
パスワード変数を、スクリプトを改編して覗き見する人がいますか?(^-^;
送信したパスワード変数を隠したければ、catalystさんに
RESしたように、display文を使えばいいことだし・・・(^-^;

本文に戻って・・・(^-^;
よこしまさんの言った通り、ddewaitadvice文のその使い方は
正しい使い方だとは思えません。
斉藤さんからのRESがないので、断言はできませんが(^-^;

何も受信しないことを待つには wait文やcaseと postidleなどを
組み合わせると良いでしょう。
postidleやpostmilliidleについては ヘルプのwait文のページに
記載されています。
分からないことがあれば、またRESしてください(^-^;

<< おせっかい(^-^; >>
その1です(笑)
>gethidetermdir %hideterm
>@hide = %hideterm + "\UPLOAD"
>openfile @hide + "\FEO.txt"
chdir文を使って、確実にアップロード用フォルダを取得することもできますよ
---------- 参照 ----------
chdir upload 
getcurrentdir @updir
restoredir
--------------------------
ちなみに、レジストリを直接読みに行っても
取得可能です。

PS.忙しくて、更新に気付くのが今になってしまいました(T-T)


00102 98/11/03 10:19 RE:00101 ddewaitadviceコマンドについて
投稿者 : となりのニャンコ   コメントを投稿する

かずやさんわかりやすい説明をありがとうございました。
そして、よこしまさんにお詫び申し上げます。
>timeout 60
>loopswitch
> case "選択して下さい"
> 処理
> case "リターンキーを押して下さい"
> 処理
> case "メッセージを編集しますか"
> 処理
> case "メッセージを登録しますか"
> 処理
> case postmilliidle(1) ""    ; ここを書き換えた
> 処理
> case timeout
> breakloop
>endloop
これで無事に送信できました。
postmilliidle(1)が抜けていただけでした。

さてここで不思議なことになってしまったんですが、
postmilliidle(1) タイムアウトまで1000分の1秒
と言う時間なのにどうして大丈夫なんでしょうか。

postidle(1) でやると、1行送信するごとに1秒ずつ
  無駄な時間が発生するので遅くてだめです。
postmilliidle(1) を使うと流れるような速さで送信されました。

振り出しに戻って、私が ddewaitadvice 1
  を使っても大丈夫なのかと、質問した理由は
  本当は、1ミリ秒と言う
  タイムアウト時間が心配だったからなんですよ。
loopswitch-case-endloop文を使っても
ddewaitadvice  コマンドを使っても
  結局タイムアウト時間はどちらも、同じなのだから
  送信エラーが、ループするという危険性については同じこと
  になりますよね。結局どちらもそんなことにならないようですが
わざわざこれから、手間をかけてスクリプトを書き換えることまで
しなくていいんじゃないかな。っていう感じがしてきたのですが。


00103 98/11/03 17:59 RE:00101 ddewaitadviceコマンドについて
投稿者 : となりのニャンコ   コメントを投稿する

> << おせっかい(^-^; >>
> その1です(笑)
> >gethidetermdir %hideterm
> >@hide = %hideterm + "\UPLOAD"
> >openfile @hide + "\FEO.txt"
> chdir文を使って、確実にアップロード用フォルダを取得することもできますよ
> ---------- 参照 ----------
> chdir upload 
> getcurrentdir @updir
> restoredir
> --------------------------

これがお節介じゃないんですよね。
最初からこれがわかっていれば、難しいことはなかったんですよ。
実は別ドライブを使っている人からクレームが来たんですよ。
それで、仕方なく手動で (input命令)
 C:\hideterm\upload
というように、ユーザーに打ち込んでもらって別のドライブやフォルダーを
設定してもらうと言うスクリプトにしたんですよ。
 かずやさんのスクリプトだと、別ドライブを指定しているユーザーでも
設定しなくていいんですもんね。
 いまさら、変更できないと言うところまで来てしまったんで、
今回はもとのままですけど


> σ(^-^)個人の意見では、パスワード変数を

やはり反対意見が出ましたね。
  第3者が、コンピューター使用者の留守の間に、ちょっといじれば
 パスワードを盗み出すことが出来る。と言うことが気になったのです。


新規に投稿する