REPLACE

Substitui L caracteres da string IN1 pela string IN2, iniciando na posição P.

Nota

Caso as strings IN1 ou IN2 sejam inválidas a string de saída não será alterada e o tipo de erro gerado pode ser obtido através da função GET_SYSTEM_ERR.

Caso o valor de L seja menor que zero a string de saída não será alterada e o tipo de erro gerado pode ser obtido através da função GET_SYSTEM_ERR.

Caso o valor de P seja menor que L a string de saída não será alterada e o tipo de erro gerado pode ser obtido através da função GET_SYSTEM_ERR.

Caso a operação resulte em uma string maior que a capacidade da string de saída o processo será cancelado e o tipo de erro gerado pode ser obtido através da função GET_SYSTEM_ERR.

Bloco

                  REPLACE
              +-------------+
ANY_STRING ---|IN1          |--- ANY_STRING
              |             |
ANY_STRING ---|IN2          |
              |             |
   ANY_INT ---|L            |
              |             |
   ANY_INT ---|P            |
              +-------------+

Parâmetro

Nome

Classe

Tipo

Descrição

IN1

Entrada

ANY_STRING

String a ser substituida

IN2

Entrada

ANY_STRING

String a ser inserida

L

Entrada

ANY_INT

Tamanho de IN1 a ser removido a partir de P

P

Entrada

ANY_INT

Posição inicial de IN1 para substituição

Retorno

Tipo Dado

Descrição

ANY_STRING

String resultante da operação.

Exemplo

Declaração de Variáveis

Nome

Tipo

Descrição

value_in1

STRING

valor do operando de entrada 1

value_in2

STRING

valor do operando de entrada 2

value_out

STRING

valor resultante da operação

value_l

INT

tamanho a ser removido

value_p

INT

posição de inserção

Clique aqui para baixar a tabela de variáveis

Código ST

(* Exemplo de ativação da função dentro da POU *)
(* ... *)
value_in1  := 'ABCD'; (* STRING a ser fornecido *)
value_in2  := 'EFGH'; (* STRING a ser fornecido *)
value_l    := 1;  (* Valor a ser fornecido *)
value_p    := 2;  (* Valor a ser fornecido *)
value_out  := REPLACE(IN1 := value_in1, IN2 := value_in2, L := value_l, P := value_p);
     (* resultado value_out = 'AEFGHCD' *)
(* ... *)