Microsoft KB Archive/123687

= Enabling CTRL+C and CTRL+BREAK by Using PeekcharQQ =

Article ID: 123687

Article Last Modified on 10/2/2003

-

APPLIES TO


 * Microsoft FORTRAN PowerStation 1.0 Standard Edition
 * Microsoft Fortran PowerStation 1.0a for MS-DOS

-



This article was previously published under Q123687



SUMMARY
To break out of a long running program, it is customary to use CTRL+C or CTRL+BREAK. However, MS-DOS only checks for CTRL+C or CTRL+BREAK when processing keyboard input. If there is no keyboard input in a loop (it contains only calculations), the program is likely to ignore CTRL+C and CTRL+BREAK.

The PeekcharQQ function performs keyboard input processing and should not significantly slow down your program, if used cautiously.



MORE INFORMATION
When you call PeekcharQQ in a long loop, MS-DOS checks the keyboard for input. If CTRL+C or CTRK+BREAK was pressed, the program terminates.

In the sample code in this article, PeekcharQQ is called thousands of times a second. In an actual application, this would noticeably slow the program. It is usually sufficient to place calls to PeekcharQQ so that it is called at most a few times a second.

NOTE: Sometimes the following simple code will break on a CTRL+C even without the call to PeekcharQQ. However, more complex code will require adding calls to PeekcharQQ to allow CTRL+C or CTRL+BREAK processing.

Sample Code
C Compile Options needed: none

include'flib.fi' include'flib.fd'

logical l

do i=1,1000000 x = sqrt(i) l = peekcharqq end do     end

Additional query words: kbinf nofpsnt 1.00 1.00a

Keywords: KB123687

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.