ACCEPT
ステートメントを使用して矢印キーストロークをキャプチャします。私は今これを持っています:COBOLでバックスペースキーまたは左右の矢印キーをキャプチャすることはできますか?
ACCEPT MY-DUMMY
CONTROL KEY IN MY-KEYSTROKE
これは上下矢印のために働いています。ただし、左矢印と右矢印の場合、これらのキーは入力フィールド内をナビゲートするためにランタイムによって使用されるため、機能しません。
これらのキーストロークをキャプチャする方法は、このACCEPT
のみであり、ホストがそれらを消費するのを防ぐ方法はありますか。
- コンパイラ:ACUCOBOL-GT(私はどのバージョンを知っているか、まだ解放されません)
- オペレーティングシステム:Windowsの受け入れ答えに加えて10
:
左と右の区別を区別するために例外キーの前に例外コードを付加することができますwキーストローク。デフォルトでは
SET ENVIRONMENT "KEYSTROKE" TO "EXCEPTION=054,Left kl"
SET ENVIRONMENT "KEYSTROKE" TO "EXCEPTION=055,Right kr"
SET ENVIRONMENT "KEYSTROKE" TO "EXCEPTION=201,BkSp ZB"
ACCEPT DUMMY
CONTROL KEY IN MY-KEYSTROKE
EVALUATE (MY-KEYSTROKE)
WHEN 054
PERFORM DO-SOMETHING
END-EVALUATE
お使いのコンパイラとバージョンはどちらですか?どのOS? – cschneid
答え:はいそれは... あなたがそれを行う方法を知りたいのであれば、それはあなたが別の道を行く必要があるコンパイラに大きく依存します。 ACUCOBOLでは、カーソル値を使用する場合は、ファンクションキーにマップするキーストロークを設定できます。他のベンダーは異なる拡張機能を持っています。 1回のキー押下だけでCライブラリにアクセスできるのであれば、 'CALL 'getch''(システムがcursesを使用している場合)のようなものが良いオプションかもしれません。 –
私は答えに例外キーを追加しました。更新していただきありがとうございます。 –