Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- CA-Clipper Tools . Books 1-3 - <b>screenmark()</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 SCREENMARK()
 Searches for a string on the screen and marks it with an attribute
------------------------------------------------------------------------------
 Syntax

     SCREENMARK(<cSearchString>, <cAttr|nAttr>,
        <lUpperLower>, [<lAll>],
        [<cForwardDelimiter>],    [<cTrailingDelimiter>])
         --> lFound

 Arguments

     <cSearchString>  Designates the character string to search for in
     screen memory.

     <cAttr|nAttr>  Designates the new color attribute to use in the
     sequence located in screen memory.  Can be specified as a numeric or in
     the manner required under CA-Clipper.

     <lUpperLower>  Designates whether the function is case sensitive
     (.T.) or not (.F.).

     <lAll>  Designates whether to mark each occurrence (.T.) or only the
     first (.F.).  The default marks only the first (.F.).

     <cForwardDelimiter>  This optional parameter designates which
     character preceding the <cSearchString> to use as a delimiter.  The
     default is no delimiter considered.

     <cTrailingDelimiter>  This optional parameter designates which
     character after the <cSearchString> to use as a delimiter.  The default
     is no delimiter considered.

 Returns

     SCREENMARK() returns a .T. when it locates the designated string at
     least once.

 Description

     SCREENMARK() searches in the screen memory for a specified character
     sequence and emphasizes it with a new attribute.  For example, you could
     mark words out of MEMOEDIT() in inverse video.  When you press a cursor
     key, SCREENMARK() is always called in the MEMOEDIT() that controls UDF.

     If you are searching for a specific word, then designate <lUpperLower>
     as .T..  If case sensitivity is not a major consideration, then
     designate <lUpperLower> as .F..

     If you want only words and not word fragments, then work with the two
     delimiter characters <cForwardDelimiter> and <cTrailingDelimiter>.
     Otherwise, the word "LOCK" is marked if the word "BLOCK" occurred.

     If you define a space (see Note) for <cForwardDelimiter> as a separator
     for the expression, then LOCK is no longer marked with BLOCK.  You can
     specify all delimiters that could be valid in character string form.
     The function allows a targeted expression to begin in the first position
     or end at the last position on the screen or window.

 Notes

     Important!  The CA-Clipper Tools uses CHR(255) as the default to
     clear the screen, since the character can take on a color attribute on
     all screen adapters.  Be sure to consider this when you create a
     delimiter list.

     .  The cursor position is not changed with this function.

 Examples

     .  Mark the first word "Clipper" on the screen (exactly) with the
        INVERS attribute:

        ? SCREENMARK("Clipper", "0/7", .T.)            // Not found if .F.

     .  Mark all occurrences of "Clipper" (regardless of the case),
        the attribute is white/blue:

        ? SCREENMARK("Clipper", "W/B", .F., .T.)       // Not found if .F.

     .  Search for all "LOCK" words.  Expressions, such as "BLOCK" are
        not to be marked.  Blanks (when you use the CA-Clipper Tools these
        are CHR(255)), slashes, dashes, and brackets, are delimiters:

        cListA  :=  CHR(255) + "/("
        cListB  :=  CHR(255) + "-)"
        ? SCREENMARK("LOCK", "W/B", .F., .T., cListA, cListB)


See Also: Introduction

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson