STUFF()
 Borra e inserta caracteres en una cadena
------------------------------------------------------------------------------
 Sintaxis

     STUFF(<cCadena>, <nInicio>,
        <nBorrar>, <cInsertar>) --> cNuevaCadena

 Argumentos

     <cCadena> es la cadena de caracteres destino en la que se insertan
     y borran caracteres.

     <nInicio> es la posición inicial de la cadena de destino en la que
     se produce la inserción/borrado.

     <nBorrar> es el número de caracteres que hay que borrar.

     <cInsertar> es la cadena que debe insertarse.

 Devuelve

     STUFF() devuelve una copia de <cCadena> con los caracteres
     especificados borrados y con <cInsertar> insertada.

 Descripción

     STUFF() es una función de caracteres que borra <nBorrar> caracteres de
     <cCadena> empezando en la posición <nInicio>. A continuación, inserta
     <cInsertar> en la cadena resultante empezando en la posición <nInicio>
     para formar la cadena de retorno. De esta forma, STUFF() puede realizar
     las seis operaciones siguientes:

     ■ Insertar: Si <nBorrar> es cero, no se suprimen caracteres de
        <cCadena>. <cInsertar> se inserta en <nInicio> y se devuelve toda la
        cadena. Por ejemplo STUFF("Mi perro tiene pulgas.", 10, 0, "no ")
        devuelve "Mi perro no tiene pulgas".

     ■ Sustituir: Si <cInsertar> tiene la misma longitud que
        <nBorrar>, <cInsertar> sustituye los caracteres empezando en
        <nInicio> y la cadena resultante tiene la misma longitud que la
        original. Por ejemplo, STUFF("Mi perro tiene pulgas.", 16, 6,
        "huesos") devuelve "Mi perro tiene huesos".

     ■ Borrar: Si <cInsertar> es una cadena nula (""), se borra de
        <cCadena> el número de caracteres especificado por <nBorrar> y la
        cadena se devuelve sin ningún carácter añadido. Por ejemplo,
        STUFF("Mi perro tiene pulgas.", 1, 3, "") devuelve "perro tiene
        pulgas".

     ■ Sustituir e insertar: Si <cInsertar> es más largo que <nBorrar>,
        se sustituyen todos los caracteres desde <nInicio> hasta <nBorrar> y
        se inserta el resto de <cInsertar>. Puesto que se insertan más
        caracteres de los que se borran, la cadena resultante siempre es más
        larga que la original. Por ejemplo, STUFF("Mi perro tiene pulgas.",
        10, 5, "nunca ha tenido") devuelve "Mi perro nunca ha tenido
        pulgas".

     ■ Sustituir y borrar: Si la longitud de <cInsertar> es menor que
        <nBorrar>, se borran más caracteres de los que se insertan. Por lo
        tanto, la cadena resultante es más corta que la original. Por
        ejemplo, STUFF("Mi perro tiene pulgas.", 10, 5, "es") devuelve "Mi
        perro es pulgas".

     ■ Sustituir y borrar el resto: Si <nBorrar> es mayor o igual que
        el número de caracteres restantes de <cCadena> empezando por
        <nInicio>, los caracteres restantes se borran antes de insertar
        <cInsertar>. Por ejemplo, STUFF("Mi perro tiene pulgas.", 10, 13,
        "es") devuelve "Mi perro es".

 Ejemplos

      Estos ejemplos demuestran las seis operaciones básicas de
        STUFF():

        // Insertar
        ? STUFF("ABCDEF", 2, 0, "xyz")          // Resultado: AxyzBCDEF
        // Sustituir
        ? STUFF("ABCDEF", 2, 3, "xyz")          // Resultado: AxyzEF
        // Borrar
        ? STUFF("ABCDEF", 2, 2, "")             // Resultado: ADEF
        // Sustituir e insertar
        ? STUFF("ABCDEF", 2, 1, "xyz")          // Resultado: AxyzCDEF
        // Sustituir y borrar
        ? STUFF("ABCDEF", 2, 4, "xyz")          // Resultado: AxyzF
        // Sustituir y borrar resto
        ? STUFF("ABCDEF", 2, 10, "xyz")         // Resultado: Axyz

 Ficheros   La biblioteca asociada es EXTEND.LIB,
            el fichero fuente es SOURCE\SAMPLE\STUFF.C.

 To download this example - click here.

See Also: RAT() RIGHT() STRTRAN() SUBSTR()