同じスクリプトで複数のネットを巡回するNo.00204
あお さん 99/05/31 14:26
 
  同じスクリプトで複数のネットを巡回する方法についての
  質問又は要望です。

  NIFTYとか、そういった大手のシステムでは問題無いと
  思うんですが、草の根系のBBSでは同じホストシステムで
  複数のネットが存在しますよね。

  これらを同じスクリプトで巡回したいのです。

  WTERMのDOS版を使っていたころは、通信ソフト側に
  ID、PASSWORDの入力欄があり、それを使ってID
  、パスワードの送出が可能だったわけですが、秀Term側
  にはそのような物はありませんよね?

  もし、出来るのならこれの指定が可能なようにしていただき
  たいのですが・・・。
  無理でしょうか?

  ホスト名の取得は可能でしたので、接続しているホスト名の
  違いくらいは判別が可能なのですが、パスワード変数の指定で
  はたと困りまして・・・。

  もし、上記のものが駄目でしたら、%%(@VALNAME)の様にして
  変数名を動的に宣言出来るようにして戴きたいのです。
  もしくは、このような方法は可能でしょうか?

あお

[ ]
RE:00204 同じスクリプトで複数のネットをNo.00205
かずや さん 99/05/31 23:31
 
こんちわ(*^-^)/

いまいち、よく分からなかったんですが
とりあえず、分かった範囲でRESしたいと思います(^-^;

>  WTERMのDOS版を使っていたころは、通信ソフト側に
>  ID、PASSWORDの入力欄があり、それを使ってID
>  、パスワードの送出が可能だったわけですが、秀Term側
>  にはそのような物はありませんよね?
WTERMは知りません(^-^;(いきなり つまづいた(笑))
基本的にスクリプト(マクロ)は上から下へ処理が進むので
一般的に、IDの入力が必要な場合に Input文でIDを入力して
もらい、PWが必要な場合は同じように入力してもらう・・・
という感じで、別々に処理しているものが多いです

* マクロサーバを使えば、エディットボックスを複数使った
  ダイアログを表示することも可能です

>  もし、上記のものが駄目でしたら、%%(@VALNAME)の様にして
>  変数名を動的に宣言出来るようにして戴きたいのです。
>  もしくは、このような方法は可能でしょうか?
秀Termは変数を宣言する必要はないと思うのですが・・・(^-^;
変数の名前を変数で作りたい、ということでしょうか?
それなら、2次元以上の配列を使ってはどうでしょうか?
例)%%pass[##i]
たとえば例のようにすると ##i(数値型変数)は最大で
-2,147,483,647〜2,147,483,647まで使えるので
ほぼ無限数まで配列を増やすことができます
(2,147,483,647も使ったらメモリがついてこないので事実上無制限
 だと思う(^-^;)

質問の意図が あまりよく分からなかったのですが
外してたらゴメンなさい(^-^;

[ ]
RE:00205 同じスクリプトで複数のネットをNo.00206
あお さん 99/06/01 12:05
 
1つのスクリプトで複数ネットに対応

  こんにちはぁ、かずやさん。
  お返事ありがとうございます。(^^)

>基本的にスクリプト(マクロ)は上から下へ処理が進むので
>一般的に、IDの入力が必要な場合に Input文でIDを入力して
>もらい、PWが必要な場合は同じように入力してもらう・・・
>という感じで、別々に処理しているものが多いです

  NIFTY 等のように、同じホストシステムで唯一そのネットだけが
  存在する場合には、最初にID・パスワードを聞いて処理する
  パターンでOKと思いますし、そのIDとパスワードを保存する
  のも固定の変数でいいのですけれど、草の根の場合は、同じホスト
  システムで複数のネットが存在しますよね。

  同じスクリプトで、複数のホストにも対応できればいいなぁ・・・
  と思ったんですね。

  一通りのコマンドに目を通したつもりだったのですが、なかなか
  理解しきれていない部分もあるかと思います。
  僕のやろうとしていることが、あまりに通常のパターンから外れて
  いることでしたらごめんなさい・・・。(^^;

[ ]
RE:00205 同じスクリプトで複数のネットをNo.00207
あお さん 99/06/01 12:07
 
変数の間接参照・代入

>> もし、上記のものが駄目でしたら、%%(@VALNAME)の様にして
>> 変数名を動的に宣言出来るようにして戴きたいのです。
>> もしくは、このような方法は可能でしょうか?
>秀Termは変数を宣言する必要はないと思うのですが・・・(^-^;
>変数の名前を変数で作りたい、ということでしょうか?

  BASIC 風のものですから、Cのような「変数宣言」は要らない
  ですよね。(^^;
  僕の書き方が、誤解を招くような書き方になってしまってます
  ね。(^^;

  どういうものかと言いますと・・・
  LOTUS 1-2-3 のマクロにそういうものがある(@@関数)んです
  が、括弧内の変数の内容を参照し、その中に定義されている変数名
  の内容を利用できる・・・と厳密にいうとちょっと違う動作なん
  ですがそういう感じのものです。

  C風にいうと、ポインタ変数のようなものと言えば大体意味として
  あっていると思います。

  例えば、%%BBSA_USERID ってものにアクセスしたいとすると、

  @BBSNAME = "BBSA_USERID"
  SEND %%(@BBSNAME)+"^M"

  のように利用したいと言うことです。

[ ]
RE:00207 同じスクリプトで複数のネットをNo.00208
かずや さん 99/06/01 23:19
 
こんちわ(*^-^)/

> NIFTY 等のように、同じホストシステムで唯一そのネットだけが
> 存在する場合には、最初にID・パスワードを聞いて処理する
> パターンでOKと思いますし、そのIDとパスワードを保存する
> のも固定の変数でいいのですけれど、草の根の場合は、同じホスト
> システムで複数のネットが存在しますよね。
全然知らなかったんですが・・・(^-^;(笑)
ID&PWも複数の変数で処理するっていうのは?(^-^;
σ(^-^)はマルチID対応のスクリプトで %USERID と %%PASSWORD を
複数使ってますが、send %ID[##i]+"^M" のようにして使い分けてます
これで、ネットごとにIDとその番号を関連づけしてやれば・・・(^-^;

> @BBSNAME = "BBSA_USERID"
> SEND %%(@BBSNAME)+"^M"
ここまで できればいいんですけどねえ・・・(笑)
今のところ 他の方法で解決するしかないようです(^-^;

[ ]
RE:00207 同じスクリプトで複数のネットNo.00209
範子 さん 99/06/02 01:07
 
SUB:RE:00205

 今晩は > あおさん

凝ったコードを書きたい年頃なのかも知れませんが、
既定のホストを回るのなら、

   switch @hostname
    case "BBSA"
        %%USERID = %%BBSA_USERID
    case "BBSB"
        ;以下同様
    endswitch
    send  %%USERID + "^M"

等と書くのが簡単で良いと思います。

[ ]
RE:00208 同じスクリプトで複数のネットをNo.00210
あお さん 99/06/02 13:00
 
  こんにちは、かずやさん。(^^)

>σ(^-^)はマルチID対応のスクリプトで %USERID と %%PASSWORD を
>複数使ってますが、send %ID[##i]+"^M" のようにして使い分けてます
>これで、ネットごとにIDとその番号を関連づけしてやれば・・・(^-^;

  ちょっとお話を聞いていてアイデアは浮かんだ気がします。
  ネット専用の番号を割り当てておいて、それを配列の要素として
  利用する形態で・・・。

あお

[ ]
RE:00209 同じスクリプトで複数のネットNo.00211
あお さん 99/06/02 13:03
 
  こんにちは、範子さん。
  回答ありがとうございます。(^^)

>凝ったコードを書きたい年頃なのかも知れませんが、

  そうかもしれません。(^^*;

>既定のホストを回るのなら、
>  switch @hostname
>     case "BBSA"
>     %%USERID = %%BBSA_USERID
>     case "BBSB"
  (後略)

  古いバージョンの物は、僕個人やプログラムの出来る友人のみが
  使っていたので好きなように改造してもらう方法を採用していたん
  ですが、プログラムを知らない人たちにも使ってもらおうと思って
  まして・・・。

  やっぱり、こうするしかないんですよね・・・。
  今まで戴いた助言を再考しながら、スクリプトを仕上げていきたい
  と思います。

  ご助言、ありがとうございました。(^^)

あお

[ ]