00274 00/04/13 10:25 RE:00273 『巡回』に命令を追加したい
投稿者 : 秀まるお   コメントを投稿する

>  その後に『RC D』(会議室に来たときの既読数に戻す)を実行したいです。

 MREコマンドを送っている場所は、NIF.HSCの1172行目付近です。

 こんな風になってます。

        send "MRE ROOM:" + #room + "^M"
        wait postidle(1) "^M^J>"

 それを、

        send "MRE ROOM:" + #room + "^M"
        wait postidle(1) "^M^J>"
        send "RC D^M"
        wait postidle(1) "^M^J>"

 っとすれば、たぶんうまくいくと思います。(RC Dコマンドを知らないのでなんですが…)

>  また、秀ネットで上記と同じ事をするにはどうすればいいのでしょうか。

 秀ネットにはRC Dコマンドに相当するコマンドが残念ながらありません。しいてやるとすれば、各会議室ごとの未読数を何らかの方法で記憶して、Aコマンド実行後に各会議室ごとに「R -n」(nは未読数)コマンドで未読ポインターを元に戻すやり方になると思います。

 って訳で、さっそくそのようなスクリプトを作ってみました。

 まずは、以下のサブルーチンをhidenet.hscの最後付近にでも入れておきます。

GetPointers:
    readbuffer 3, #line
    @@CouncilCount = value(part(#line, 0, 1))
    if( @@CouncilCount == 0 )
        return;
    endif
    ##i = 3
    ##iCouncil = @@CouncilCount;
    while( ##iCouncil > 0 )
        readbuffer ##i, #line
        @@UnreadCount[##iCouncil] = value(part(#line, 11, 5))
        ##i = ##i + 1
        ##iCouncil = ##iCouncil - 1
    endwhile
return

RestorePointers:
    ##iCouncil = 1
    while( ##iCouncil <= @@CouncilCount )
        if( @@UnreadCount[##iCouncil] != 0 )
            send ##iCouncil + "^M"
            wait ">"
            send "R -" + @@UnreadCount[##iCouncil] + "^M"
            wait ">"
            send "E^M"
            wait ">"
        endif
        ##iCouncil = ##iCouncil + 1
    endwhile
return

 んでもって、hidenet.hscの100行目付近に

        send "A^M"
        wait postidle(1) "^M^J>"

 って処理があるんですが、ここを、

        wait postidle(1) "^M^J>"
        call GetPointers
        send "A^M"
        wait postidle(1) "^M^J>"
        call RestorePointers

 に変更すれば、未読ポインターを元に戻してくれます。

 お試しください。


00275 00/04/13 10:38 RE:00273 『巡回』に命令を追加したい
投稿者 : 江袋文人   コメントを投稿する

やすひささん、こんにちは。

>  普段はメインのPCで巡回しています。
>  でも、たまに違うPCで巡回したいときがあるのですが、
>  メインのPCには違うPCで読んだ発言も取り込みたいので、

僕も自宅、職場、別々のPCでパソ通することがありまして、僕の場合は
スクリプトを変更せず、次のようにしています。

(1) 職場のPC(メインで使う)で「@nifty」「@nifty自宅」という2つ
  のホストを作成。このとき、プロパティの違いは
  - 名前
  (前者は"@nifty"、後者は"@nifty自宅")
  - 使用するストックファイル
  (前者は"@nifty.stk"、後者は"@nifty自宅.stk")
  だけで、あとは同じにする。そして、職場では「@nifty」でパソ通
  する。

(2) 自宅のPC(たまに使う)では「@nifty自宅」というホストを作成。
  そして、自宅では「@nifty自宅」でパソ通する。

(ここからがミソ)

(3) 自宅でパソ通したときは、ストックファイル
  "C:\Program Files\HideTerm\@nifty自宅.stk"
  をFDに(大きい場合は圧縮して)コピーし、職場に持っていく。

(4) 職場のメインPCで、FDからストックファイルを
  "C:\Program Files\HideTerm\@nifty自宅.stk"
  に復元し、秀タームを起動する。

(5) 全体図には

| +-@nifty.stk
| +-@nifty自宅.stk

  といったツリーが見えると思うので、
  +-@nifty自宅.stk
  の "+"の部分をクリックすると

| +-@nifty.stk
| |
| --@nifty自宅.stk
|  |
|  +-4月2日〜(2回)

  のように展開される。そこで
   +-4月2日〜(2回)
    ~~~~~~
  の日付をクリックすると反転表示となるので、すかさず「Ctrl+C」
  でコピー。

  そして、今度は
  +-@nifty.stk
  の "+"の部分をクリックし、

| --@nifty自宅.stk
| | |
| | +-4月2日〜(2回)
| |
| --@nifty.stk
|  |
|  +-4月1日〜(5回)

  と展開したら、「@nifty.stk」の部分が反転表示されると思うので、
  その状態で「Ctrl+V」を押すと、自宅でパソ通した情報が職場のPC
  の「全体図」に取り込まれる。

ちょっと分かりづらかもしれませんが、僕はこのような方法で、別のPC
でアクセスした情報をメインのPCで使用しています。

通信費も節約できていいと思うのですが、いかがでしょうか。


新規に投稿する