FT String

 FT_AT2()         Find position of the nth occurrence of a substring
 FT_BITCLR()      Clear (reset) selected bit in a byte
 FT_BITSET()      Set selected bit in a byte
 FT_BYTEAND()     Perform bit-wise AND on two ASCII characters (bytes)
 FT_BYTENEG()     Perform bit-wise negation on an ASCII character
 FT_BYTENOT()     Perform bit-wise NOT on an ASCII character (byte)
 FT_BYTEOR()      Perform bit-wise OR on two ASCII characters (bytes)
 FT_BYTEXOR()     Perform bit-wise XOR on two ASCII characters (bytes)
 FT_FINDITH()     Find the "ith" occurrence of a substring within a string
 FT_ISBIT()       Test the status of an individual bit
 FT_ISBITON()     Determine the state of individual bits in a number
 FT_METAPH()      Convert a character string to MetaPhone format
 FT_NOOCCUR()     Find the number of times one string occurs in another
 FT_PCHR()        Convert printer control codes
 FT_PROPER()      Convert a string to proper-name case


 Convert printer control codes


       FT_PCHR( <cString> )  ->  <cPrinterFormat>


       <cString> is the representation of the printer control codes in
       text, numeric, hexadecimal, Epson command format, or any combination
       separated by commas.


       A character string of printer control codes.


       This function is useful for allowing the user to enter printer
       control codes in text (enclosed in double quotes), numeric,
       hexadecimal, or Epson commands preceded by a slash and returns
       the printer control code equivalent.


         - Combinations of text, numbers, hex, and commands must be
            separated by commas ("A",27,&1B,/RESET).
         - Text must be enclosed in double quotes ("x").
         - Hexadecimal must be preceded by an ampersand (&1B).
         - Epson commands, listed below, must be preceded by a forward
            slash (/RESET).

         Epson commands: (slash commands are specific to the Epson)

           Job Control:

           /RESET or /INIT   Reset or initialize the printer
           /BELL  or /BEEP   Cause the printer's speaker to beep (not HS)
           /CAN              Clear print buffers (not MX)
           /SLOW             Set low speed mode (not CR, HS, MX)
           /FAST             Cancel low speed mode (not CR, HS, MX)
           /ONE              Select Unidirectional mode
           /TWO              Select Directional mode
           /ON               Activate printer
           /OFF              Turn off printer

           /FF or /EJECT     Form Feed

           Page Control:

           /1/6              Set 6 lines per inch
           /1/8              Set 8 lines per inch
           /SKIP             Set Skip perforation ON
           /SKIPOFF          Set Skip perforation OFF

           Font Selection and Manipulation:

           /ITALIC           Select italic char. set  (only FX86, EX, LX,
                                                           no LQ-1500, SX)
           /GRAPHIC          Select graphic char. set (only FX86, EX, LX,
                                                           no LQ-1500, SX)
           /ROMAN            Choose Roman font
           /SANS             Choose Sans Serif font
           /DRAFT            Choose draft
           /NLQ              Choose near letter quality
           /PICA             Choose 10 chars per inch
           /ELITE            Choose 12 chars per inch
           /COND or /SI      Choose 15 chars per inch
           /EMPH             Turn emphasize on
           /EMPHOFF          Turn emphasize off
           /SPANISH          Select spanish international char set
           /USA              Select USA international char set


       cSetUp := '27,116,1'
       Set Print ON
       ? FT_PCHR( cSetUp )      ->  (CHR(27)+CHR(116)+CHR(1))
                                            <select Epson char. graphics>

       ? FT_PCHR( '27,"x",0' )  ->  (CHR(27)+CHR(120)+CHR(0))
                                         <Epson draft mode>

       ? FT_PCHR( '&1B,"E"'  )  ->  (CHR(27)+CHR(69))   <HP reset>

       ? FT_PCHR( '/ELITE,/NLQ' ) ->(CHR(27)+CHR(77)+CHR(27)+CHR(120)+CHR(1))
                                <Epson elite & near letter quality>

 Source: PCHR.PRG

 Author: Jim Gale