Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 2 Próxima »

Função: Stuff

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.

Stuff ( < cString>, < nInicio>, < nElimina>, < cInsere> ) --> cRet

NomeTipoDescriçãoObrigatórioReferência
cStringCaracterIndica a string destino na qual serão eliminados e inseridos caracteres. X
nInicioNuméricoIndica a posição inicial na string destino em que ocorre a inserção/eliminação. X
nEliminaNuméricoIndica a quantidade de caracteres que serão eliminados. X
cInsereCaracterIndica a string que será inserida. X
    cRet(caracter)
  • Retorna uma nova string (cópia de cString), sendo que os caracteres especificados foram eliminados e <cInsere> inserida.

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

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

Stuff ("Meu gato tem pulgas.", 10, 0, "não")
Retorno: "Meu gato não tem pulgas."

 

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:

Stuff("Meu gato tem pulgas.", 14, 6, "língua")
Retorno: "Meu gato tem língua."

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

Stuff("Meu gato tem pulgas.", 1, 4, "")
Retorno: "gato tem pulgas."

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

Stuff("Meu gato tem pulgas.", 10, 3, "possui")
Retorno: "Meu gato possui pulgas."

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:

Stuff("Meu gato possui pulgas.", 10, 3, "tem") 
Retorno: "Meu gato tem pulgas."

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

Stuff("Meu gato tem pulgas.", 10, 11, "faz.") 
Retorno: "Meu gato faz."

 

Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10

  • Sem rótulos