Elimina e insere caracteres em uma string. Para isso, a função elimina <nElimina> caracteres a partir da posição inicial <nInicio>. Depois, insere <cInsere> na string resultante a partir do início <nInicio>, para formar a string que será retornada.

Sintaxe

cReturn := stuff(<cString>, <nInicio>, <nElimina>, <cInsere>)

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cString

caractere

Indica a string destino na qual serão eliminados e inseridos caracteres.

X


nInicio

numérico

Indica a posição inicial na string destino em que ocorre a inserção/eliminação.

X


nElimina

numérico

Indica a quantidade de caracteres que serão eliminados.

X


cInsere

caractere

Indica a string que será inserida.

X


Retorno

Nome

Tipo

Descrição

cRet

caractere

Retorna uma nova string (cópia de cString), sendo que os caracteres especificados foram eliminados e <cInsere> inserida.

Observações

Esta função, permite realizar 6 (seis) operações, observe:

  • Inserção: Se o terceiro parâmetro for igual a 0 (zero), nenhum caractere será removido de . é inserido depois em , e a string inteira é retornada. Por exemplo:

    #include TOTVS.CH
    User Function Exemplo()
      cx := Stuff ("Meu gato tem pulgas.", 10, 0, "não ")
    return MsgInfo( cx, "Stuff - Exemplo" )
    
  • <h3>Resultado do Exemplo</h3>

     

     

  • Substituição: Caso seja do mesmo tamanho que , substitui os caracteres a partir de . A mesma quantidade de caracteres que é eliminada, inserida e a string resultante tem o mesmo tamanho da original. Por exemplo:

    #include TOTVS.CH
    User Function Exemplo()
      cx := Stuff("Meu gato tem pulgas.", 14, 6, "língua")
    return MsgInfo( cx, "Stuff - Exemplo" )
    
  • <h3>Resultado do Exemplo</h3>

     


  • Eliminação: Se for uma string vazia ("") a quantidade de caracteres especificada é removida e a função retornará uma string sem que nenhum caractere tenha sido adicionado. Por exemplo:

    #include TOTVS.CH
    User Function Exemplo()
      cx := Stuff("Meu gato tem pulgas.", 1, 4, "")
    return MsgInfo( cx, "Stuff - Exemplo" )
    
  • <h3>Resultado do Exemplo</h3>

     


  • Substituição e inserção: Caso seja maior do que , todos os caracteres, desde até são substituídos e o resto é inserido. Caso haja mais caracteres a serem inseridos do que eliminados, a string resultante é sempre maior que a original. Por exemplo:

    #include TOTVS.CH
    User Function Exemplo()
      cx := Stuff("Meu gato tem pulgas.", 10, 3, "possui")
    return MsgInfo( cx, "Stuff - Exemplo" )
    
  • <h3>Resultado do Exemplo</h3>

     


  • Substituição e eliminação: Se o tamanho de for menor que , há mais caracteres a serem eliminados do que inseridos. A string resultante, portanto, é menor que a original. Por exemplo:

    #include TOTVS.CH
    User Function Exemplo()
      cx := Stuff("Meu gato possui pulgas.", 10, 3, "tem")
    return MsgInfo( cx, "Stuff - Exemplo" )
    
  • <h3>Resultado do Exemplo</h3>

     


  • Substituição e eliminação do resto: Caso seja maior ou igual a quantidade de caracteres existentes em a partir de , todos os caracteres restantes são eliminados antes que seja inserido. Por exemplo:

    #include TOTVS.CH
    User Function Exemplo()
      cx := Stuff("Meu gato tem pulgas.", 10, 11, "faz.")
    return MsgInfo( cx, "Stuff - Exemplo" )
  • <h3>Resultado do Exemplo</h3>

    

Abrangência

Application Server 13.0.0.0

  • Sem rótulos