Enabling CTRL+C and CTRL+BREAK by Using PeekcharQQLast reviewed: July 20, 1995Article ID: Q123687 |
The information in this article applies to:
SUMMARYTo 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 INFORMATIONWhen 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 CodeC 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 reference words: kbinf 1.00 1.00a
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |