回答箱 No.72-4: TPSでバインダーを確保する方法は?

  ◆ 質問箱 No.72   質問者:  元山 よし子  1998年03月 194号 P.19
     ◆ 質問箱 目次へ
No.72-4 TPSでバインダーを確保する方法は? 回答箱
  早瀬 壮一
1998年04月
195号 P.25
質問箱 No.72(1998年3月号)の回答-4

NAME関数,ENV関数などの情報関数を使いこなそう!

   元山さんの質問は意味がよく分からなかったのですが、要するにバインダーの空きがどれだけあるかを調べればよいと言うことなので、私がいつも使っているルーティンを報告します。
   私はキャビネットを作るときはバインダー数を100にしています。1から100までバインダーが有るか無いかを調べてその数を記録すればいいです。

<BIND調べ>
         FOR X6=1 TO 100;
                LET X1=NAME(3,%('"A/FD:'+NUM$(X6)+'"'));IF X1=0 THEN CONTINUE;
                LET X2=X2+1;
         NEXT;
         MESSAGE "バインダーは"+NUM$(X2)+"個ありました(リターン進行)";
         MESSAGE NUM$(100-X2)+"個空きがあります(リターン進行)";
         STOP;

   NAME(3,"バインダー番号")が0であればこの番号のバインダーは無いということです。この関数はバインダー番号が実際あるものより大きくしてもエラーになりません。
   THE PIPSのNo.194で入川さんが「LTINF$」関数のことを報告されておられました。こういう環境情報を調べる関数はシステムをいかに有効に使うかを追い求めるシステム屋にとっては貴重な道具です。
   The PIPSはこういう特殊な情報関数群が新しくもうけられました。The PIPSが出たときENV関数とかNAME関数、LTINF$関数を見て、いままでのPIPSとだいぶ違うぞと言う気分になりました。コンピュータの本質に迫る関数という感じを持ちました。
   BIND関数はバインダー名がわかっていないと使えませんがNAME関数はバインダー番号でバインダーがあるかどうかを調べることが出来ます。残念なことはバインダーがあったら何というバインダー名を持っているかを知らせて欲しかったことです。
   いま一つ不満は使えるプリンタを調べるENV関数がありますが、これはつながっているプリンタを調べるのではなく現在「CHGPRT」で選んでいるプリンターの種類を教えてくれるだけです。これはプリンターとの情報交換をしなければ出来ませんからSORDに注文するのは酷かもしれませんが、いま使えるプリンタはSORDのプリンターかエプソンのプリンターかをチェックする方法を知りたいものです。
戻る