GETCHARQQ

実行時関数:次のキーストロークを得ます。

モジュール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

関連情報

FGETCGETCGETSTRQQINCHARQQMBINCHARQQPEEKCHARQQ

	!	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