実行時関数:次のキーストロークを得ます。
モジュール:USE DFLIB
形式
result = GETCHARQQ ( )
結果
結果の型は CHARACTER(1) です。結果は,押されたキーを表す文字です。値は ASCII 文字です。
押されたキーが 1 つの ASCII 文字で表される場合,GETCHARQQ は文字を返します。押されたキーがファンクション・キーや矢印キーである場合,16 進数 #00 や #E0 が返されます。どのファンクション・キーや矢印キーが押されたかを知りたい場合,キーの拡張コードを得るためにもう一度 GETCHARQQ を呼び出します。
キーボード・バッファに待機しているキーストロークがない場合,GETCHARQQ は入力されるまで待機し,入力後,そのキーを返します。関数 PEEKCHARQQ は,キーボード・バッファに待機している文字があれば .TRUE. を返し,なければ .FALSE. を返します。GETCHARQQ を呼び出すかどうかを判断するために,PEEKCHARQQ を使うことができます。これにより,GETCHARQQ が存在していないキーストロークを待っている間,プログラムが中断することを防ぐことができます。
アプリケーションが QuickWin または Standard Graphics アプリケーションの場合,プログラム中で PASSDIRKEYSQQ を呼び出したい場合があります。これにより,この呼び出しを行わなければトラップされる文字を得ることができるようになります。これら特殊な文字については,「PASSDIRKEYSQQ」を参照してください。
Console アプリケーションで使用する GETCHARQQ ルーチンは,QuickWin または Standard Graphics アプリケーションで使用するものと異なったルーチンであることに注意してください。Console アプリケーションで使用する GETCHARQQ は,QuickWin で特殊な用途に使用される文字 (たとえば,スクロール) をトラップしません。Console アプリケーションは,PASSDIRKEYSQQ を必要としませんし,使用することができません。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報
FGETC,GETC,GETSTRQQ,INCHARQQ,MBINCHARQQ,PEEKCHARQQ
例
! GETCHARQQ の例 USE DFLIB CHARACTER(1) key / 'A' / PARAMETER (ESC = 27) PARAMETER (NOREP = 0) WRITE (*,*) ' Type a key: (or q to quit)' ! ESC か q が押されるまでキーを読み取ります。 DO WHILE (ICHAR (key) .NE. ESC) key = GETCHARQQ() ! 幾つかの拡張キーは ASCII 表記を持っていません。 IF(ICHAR(key) .EQ. NOREP) THEN key = GETCHARQQ() WRITE (*, 900) 'Not ASCII. Char = NA' WRITE (*,*) ! それ以外は,1 キーのみがあります。 ELSE WRITE (*,900) 'ASCII. Char = ' WRITE (*,901) key END IF IF (key .EQ. 'q' ) THEN EXIT END IF END DO 900 FORMAT (1X, A, \) 901 FORMAT (A) END