[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 RANGEREPL()
 Replaces characters within a specified ASCII code range with a particular
 character
------------------------------------------------------------------------------
 Syntax

     RANGEREPL(<cCharacter1>,<cCharacter2>,<cString>,
        <cReplaceCharacter>) --> cString

 Arguments

     <cCharacter1> and <cCharacter2>  Designate the first and the
     last character of the character range.

     <cString>  [@]  Designates the string that is processed.

     <cReplaceCharacter>   Designates the single character that replaces
     those characters in <cString> that are within the specified range.

 Returns

     The processed character string is returned.

 Description

     All characters that are in a particular range can be replaced by a new
     character.  For example, you could replace all control characters with
     spaces.

     The designated range can also run from "back to front", meaning that
     <cCharacter2> can have a lower value than <cCharacter1>.  In such a case
     the range extends from the larger value to 255 and from 0 to the smaller
     value.

 Notes

     .  The length of <cString> remains unaffected by this function.

     .  The return value of this function can be suppressed by
        implementing CSETREF() to save room in working memory.

 Examples

     .  Exchange all control characters in a character string for the
        character ".":

        cString  :=  "a" + CHR(5) + "b" + CHR(9)
        ? RANGEREPL(CHR(0), CHR(31), cString, ".")   // "a.b."

     .  A null string can be specified, instead of CHR(0).  The
        following example exchanges all characters with a code < "A" for the
        number "0".  Of course, the number "0" remains the number "0":

        ? RANGEREPL("", CHR(65), "123400", "0")      // "000000"

     .  All characters in the range "0" to "8" are exchanged for the
        number "9":

        ? RANGEREPL("0", "8", "0212 - 78 67 43", "9")
                                                     // "9999 - 99 99 99"

     .  With the exception of upper case letters, all characters are
        exchanged for dashes.  The optimum call is in conjunction with
        CSETREF():

        CSETREF(.T.)
        cString  :=  "A()&BC/?D"
        RANGEREPL(91, 64, @cString, "-")             // "A--BC--D"


See Also: POSREPL() CHARREPL() CSETREF() Introduction
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson