How to Implement CTRL+G Functionality to "Find Again" (132357)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 3.0

This article was previously published under Q132357

SUMMARY

This article shows by example how to find another occurrence of a string in a file (Find Again) when the CTRL+G key combination is pressed.

MORE INFORMATION

In FoxPro version 2.x, the Find dialog is activated by pressing CTRL+F. To find another occurrence of a string in a text file, you can press CTRL+G key, and a new search is performed.

Visual FoxPro uses a Find dialog common to Windows-based applications on a specific platform. With this dialog, pressing CTRL+G no longer performs a "Find Again" operation. You can, however, program this functionality by explicitly calling the Find window when CTRL+G is pressed.

Step-by-Step Example

The following example code illustrates this method. To execute the sample code, follow these steps:

  1. Copy and paste the code into a program (.PRG) file named FINDAGN.
  2. Run the program by typing DO FINDAGN in the Command window.
  3. Open a text file, and press CTRL+F. The Find dialog is activated. Type a string that reoccurs in the text file.
  4. Press CTRL+G to find the string again.

Code Sample

* : Find Again for Visual FoxPro using Ctrl+G.
*  Parameter List....: tlFindMode

*-- To execute Find Again, press {Ctrl+G}.

LPARAMETERS tlFindMode
LOCAL lcDoCommand

*-- If not find mode, initialize {Ctrl+G}.
IF NOT tlFindMode
  lcDoCommand='DO '+SYS(16)+' WITH .T.'
  ON KEY LABEL Ctrl+G &lcDoCommand
  RETURN
ENDIF

*-- If Find dialog is not active, stuff keyboard with {Ctrl+F} and
*   stuff {ENTER} in keyboard to execute Find.
IF NOT WEXIST('Find')
  KEYBOARD '{Ctrl+F}{ENTER}' PLAIN
  RETURN
ENDIF

*-- Activate Find dialog window and stuff {ENTER} in keyboard to
*   execute Find.
ACTIVATE WINDOW Find
KEYBOARD '{ENTER}' PLAIN

RETURN
				

Modification Type:MajorLast Reviewed:2/15/2000
Keywords:KB132357