Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報
[掲示板に戻る全部  1-  最新50
1 プログラム設計について
ゼロ 2006-9-28 17:54  [返信] [編集]

プログラムでの処理キーについて教えてください。

現在、当社で仕様しているプログラムのほとんどが、処理の実行に「F10」、中止に「F9」が割り当てられています。

これは、プログラムのほとんどがSYSTEM150~3100の時代に作成されたものであるため「実行キー(ADVANCE)」(エミュレーターでは10)を処理の開始に割り当てていた為です。



実行と中止(F9、F10)が隣あっていることもあり押し間違いをすることが頻繁にあるので、今後作成するプログラムでは別のキーで統一していこうと思っているのですが、みなさんの会社で使用しているプログラムはどういった仕様になっているか参考の為に教えて頂けないでしょうか?

2 Re:プログラム設計について
EXCHANGE 2006-9-28 19:54  [返信] [編集]

ジオボードの過去ログです。



ツリー: 

旧家イトウ家の小技裏技(その10)-->ターラヤン氏のコメント-->EXCHANGEのコメント



http://www.geocities.jp/tahrayan/geo/0156.html



参考になるかどうかは分かりませんが。。

3 もう一つ重要なこと?
EXCHANGE 2006-9-28 20:44  [返信] [編集]

* COBOLソース上では機能を表す抽象的なキー名をまず決めます。

例えば、プログラムを終わらせるのでしたら、EXT-PGMとかに決めます。

ソース上では、

 IF CRT-STATUS = EXT-PGM

   THEN。。。



などとします。



* 次に、EXTPGM等の「抽象キー名」を具体的なキーステータス値に対応させます。



 EXT-PGM  --> ”P9” (旧 PF9)

 EXT-LOOP --> ”03” (旧 Ⅱ  )

 OK-EXEC  --> ”04” (旧 ADVANCE)

 PAGE-NEXT--> ”FW” (旧 前進)  

 等々。。

  この対応はCOPY句などでテーブル化しておきます。



* さらにWSエミュレータのキーボード設定で、

ステータス値を表すサーバファンクションを具体的なキー操作に対応させます。

  ”P9” PF9    ---> F9

  ”03” Ⅱ      ---> F12

  ”04” ADVANCE --> F11

  ”FW” 前進      --> PageDown



* 一見複雑そうですが、実際はそう難しくはありません。



* こうしておけば、COBOLソースと、NEC A-VXとの強いリンクは避けられます。

後日、どうしてもマイグレーションが必要になった時などに便利かと思います。

 IF CRT-STATUS = ”09” 等の記述は、

今後は避けたいところです。



* プログラムを終了させるキーをF1に換える場合はCOPY句のテーブルでの対応を

  EXT-PGM PIC X(02) VALUE ”P1”.

  とするだけで済みます。



4 Re:プログラム設計について
オフコン人 2006-9-29 23:08  [返信] [編集]

EXCHANGEさんは親切にソースの記述まで書いていただいていますが、ゼロさんの質問の本質は何処にあるのですか?



他の会社では、PF10とPF9が隣合わせで誤操作しやすいので、キーの割付をどのようにしているかの質問でしょうか?

それとも、コーディングをどのようにしたらいいかのご質問でしょうか?

5 Re:プログラム設計について
ゼロ 2006-9-30 10:18  [返信] [編集]

申し訳ありません、質問の意図がはっきりと伝わらない書き方をしてしまったようです。



社内システムを見直す話がでていまして、この機会に以前から問題のあった操作キーの割当を見直すことになりました。

社内のプログラムのほとんどがWS時代に作成されているためPCのキーボード配置では使いにくいものとなっています。

いくつか例をあげますと、先に述べたF9とF10の問題、前進後退がCI(SHIFT+F8)CII(SHIFT+F9)に割り当てられているといった感じです、あとはプログラムによって明細の行削除が旧PF2になっていたりHELPキーに割当られていたりとバラバラなので統一したい等です。

そこで、一般的にはどのようなキーを割り当てているのか聞いてみたかったというのが質問の意図です。

EXCHANGEさんの小技裏技も熟読してみることにします。



EXCHANGEさん書込みは質問の意図とは別のところでしたが大変参考になりました。
6 Re:プログラム設計について
EXCHANGE 2006-10-5 5:39  [返信] [編集]

きっちりと一文を作成せずにいきなり昔の投稿の引用に飛ばしてしまったためにゼロさんの問いかけと内容的に少しずれてしまったようです。



キーの配分(割当?)は各社の事情や、ポリシーによって違うと思いますが、

現状、私の考えは以下の通りです。



* Windows上で動かす(Windows系のソフトと連携したり、ミキシングして使用する)ことを考慮して、出来る限り他のWindowsソフトの操作と共通性を持たせるべきと思います。

(例)SKIP(TAB)、BSKIP(BACKTAB)など。

   それから、Windows系のソフトでは一般的に

  F3またはF9:終了

  F5再表示、もしくはズーム(ヘルプ)

  F10実行、書込

  F12前画面などが多いように思うのですが

  本来はマウスを使って選択するのが基本でしょうから\r

  なんともいえません。

  



* それから、キー割当とは少し話は違いますが、オフコン衰運の現在の状況をかんがみ、

キー割当を見直すためにソースを変更するのであれば、

その際、将来のマイグレーションを視野に入れてキーSTATUS部分のコーディング等いろいろ同時に見直すべきだと思います。(自衛策です)





7 Re:プログラム設計について
ゼロ 2006-10-5 9:08  [返信] [編集]

過去のEXCHANGEさんのキー割付の考察を読みましたが、興味深い

ものであり大変参考になりました、将来のマイグレーションも視

野に入れてコーディングの見直しも併せて考えてみようと思いま

す。 懇切丁寧な回答ありがとうございました。



話は変わるのですが、複数台のPCでWSエミュレーターのキー

設定を簡単に統一する方法はないでしょうか?

現在、約50台のPCで使用しているのですが一台ずつ設定する

のが大変なのと設定ミスも考えられるので。
8 Re:プログラム設計について
EXCHANGE 2006-10-5 11:00  [返信] [編集]

(1)まず、一台のPCのWSエミュレータでキーボード設定を行います。

(2)続けて同じエミュレータ上の設定画面の「環境確認」タブを開き、環境取得「取得項目」からキーボードを選択し、取得実行ボタンを押します。

(3)上記の操作で、

C:¥WS?EML¥WSREGKeyBoad.REGにレジストリのキーボード情報が取得されるので、このファイルをフロッピーなどにコピーします。



* 他のPCにこの設定をコピーするには、

 エミュレータがインストールされたターゲットになるPCに、設定したいユーザでログインし、フロッピー上のWSREGKeyBoad.REGファイルをダブルクリックしてターゲットユーザのレジストリーにこの情報を書き込みます。



*他にもやり方のバリエーションはあるかと思いますが、詳しくはエミュレータのCD内にガイドがありますのでご確認下さい。





9 Re:プログラム設計について
EXCHANGE 2006-10-5 11:21  [返信] [編集]

追加情報です。



* 大事なことを忘れていました。WindowsのOSの種類毎にレジストリー周りは微妙に違う可能性があります。またWSエミュレータのバージョンによっても違ってくる場合がありますので、この辺を考慮して複数のフロッピーを作成した方が安全と思います。
10 Re:プログラム設計について
ゼロ 2006-10-5 13:01  [返信] [編集]

マニュアルに書いてあることを質問してしまい申し訳ありま
せんでした。


教えていただいた方法を試してみたいと思います。

11 Re:プログラム設計について
あ 2007-1-2 16:37  [返信] [編集]

 7200シリーズからエクスプレスに置き換えの時には、アドバンスキーをPAUSEキーに割り当てました。

 ちなみにSKIPキーはF12です。
[掲示板に戻る全部 次100 最新50
BluesBB ©Sting_Band