DELETE

Deleta L caracteres da string IN a partir da posição P. É uma função pura (sem estado; retorna o resultado diretamente).

Biblioteca: IEC_STD · Namespace: IEC · Tipo: função

Função

                  DELETE
              +-------------+
ANY_STRING ---|IN           |--- ANY_STRING
              |             |
   ANY_INT ---|L            |
              |             |
   ANY_INT ---|P            |
              +-------------+

Esta função aceita como parâmetros de entrada uma string do grupo ANY_STRING (IN) e dois valores do grupo ANY_INT (L e P), removendo L caracteres da string IN a partir da posição P. O tipo de retorno é sempre do grupo ANY_STRING.

Nota

Caso a string IN seja inválida 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 ou maior que o tamanho da string IN 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.

Parâmetros

Nome

Direção

Tipo

Faixa / Unidade

Descrição

IN

IN

ANY_STRING

—

String de entrada da qual os caracteres serão removidos.

L

IN

ANY_INT

—

Número de caracteres a serem removidos.

P

IN

ANY_INT

—

Posição inicial de remoção (contada a partir de 1).

Retorno / Saídas

Tipo

Faixa / Unidade

Descrição

ANY_STRING

—

String resultante da remoção de L caracteres de IN a partir da posição P.

Observações

  • Caso a string IN seja inválida 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 ou maior que o tamanho da string IN 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.

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    value_in1 : STRING; (* valor do operando de entrada 1 *)
    value_out : STRING; (* valor resultante da operação *)
    value_l   : INT;    (* tamanho a ser removido *)
    value_p   : INT;    (* posição de inserção *)
END_VAR

(* Exemplo de ativação da função dentro da POU *)
(* ... *)
value_in1 := 'ABCDEF';  (* Valor a ser fornecido *)
value_l   := 2;  (* Valor a ser fornecido *)
value_p   := 3;  (* Valor a ser fornecido *)
value_out := DELETE(IN := value_in1, L := value_l, P := value_p);
    (* resultado value_out = 'ABEF' *)
(* ... *)