MID
Retorna um número L de caracteres da string de entrada IN a partir da posição P.
Nota
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.
Bloco
MID
+-------------+
ANY_STRING ---|IN |--- ANY_STRING
| |
ANY_INT ---|L |
| |
ANY_INT ---|P |
+-------------+
Parâmetro
Nome |
Classe |
Tipo |
Descrição |
IN |
Entrada |
ANY_STRING |
String de entrada |
L |
Entrada |
ANY_INT |
Nro. de caracteres a partir da posição inicial |
P |
Entrada |
ANY_INT |
Posição inicial da string a ser obtida |
Retorno
Tipo Dado |
Descrição |
ANY_STRING |
String resultante da operação. |
Exemplo
Declaração de Variáveis
Nome |
Tipo |
Descrição |
|---|---|---|
value_in |
STRING |
valor do operando de entrada |
value_out |
STRING |
valor resultante da operação |
value_l |
INT |
tamanho da string retornada |
value_p |
INT |
posição inicial da string a ser retornada |
Código ST
(* Exemplo de ativação da função dentro da POU *)
(* ... *)
value_in := 'ABCDE'; (* STRING a ser fornecido *)
value_l := 3; (* Valor a ser fornecido *)
value_P := 2; (* Valor a ser fornecido *)
value_out := MID(IN := value_in, L := value_l, P := value_p);
(* resultado value_out = 'BCD' *)
(* ... *)