Estrarre stringa (centro)

Estrae la stringa dalla posizione desiderata.

Blocco
Testo

TARGET = substring(INPUT, STARTPOSITION, COUNT);
  1                  4          2          3

# Descrizione
1 [Destination Data] Impostare i dati sorgente in cui si vuole memorizzare la stringa estratta.
2 [Start position] Valore intero che specifica il punto iniziale di estrazione della stringa. Il valore deve essere maggiore o uguale di 1 e minore o uguale della posizione di partenza estraibile.
3 [Number of characters]

Impostare il numero di caratteri da estrarre. Il valore deve essere maggiore o uguale di 1 e minore o uguale del numero di caratteri che possono essere estratti.

I caratteri a doppio byte si contano come carattere singolo.

4 [Source Data] Impostare i dati sorgente in cui la stringa da estrarre è memorizzata.

(Esempio)

Blocco

Testo

Var4 = substring(Var3,Var5,Var1);

Esempio di operazione

Variabile in [Source Data]

[Start position]

[Number of characters]

Variabile in [Destination Data]

Commenti

Stringa target

Numero massimo di Byte Stringa estratta da memorizzare
ABCDE 2 3 5BCD -
4 3 5(nessuno)
La stringa non viene memorizzata perché [Number of characters] ha superato il numero di caratteri disponibile. Questo si considera errato nell'operazione “Risultato operazione”.
6 3 5(nessuno)
La stringa non viene memorizzata perché [Start position] ha superato la posizione di avvio disponibile. Questo si considera errato nel “Risultato operazione”.
0 3 5(nessuno)
La stringa non viene memorizzata perché [Start position] è minore di 1. Questo si considera errato nel “Risultato operazione”.
-1 3 5(nessuno)
La stringa non viene memorizzata perché [Start position] è minore di 1. Questo si considera errato nel “Risultato operazione”.
4 0 5(nessuno)
La stringa non viene memorizzata perché il [Number of characters] è minore di 1. Questo si considera errato nell'operazione “Risultato operazione”.
4 -1 5(nessuno)
La stringa non viene memorizzata perché il [Number of characters] è minore di 1. Questo si considera errato nell'operazione “Risultato operazione”.
2.1 3 5BCD La parte decimale della [Start Position] viene troncata.
2 3.5 5BCD
I valori a destra del punto decimale in [Number of characters] vengono troncati.
ABCDEF 1 6 5(nessuno)
La stringa non viene memorizzata perché la stringa convertita ha superato il numero massimo di Byte che può essere memorizzato. Questo si considera errato nell'operazione “Risultato operazione”.
AB(0x00)CDE 2 3 5(nessuno)
La stringa non viene memorizzata. Se c’è NULL (0x00), la stringa termina qui. Di conseguenza il [Numero di caratteri] supera il numero di caratteri recuperabili. Questo si considera errato nell'operazione “Risultato operazione”.
4 3 5(nessuno)
La stringa non viene memorizzata. Se c’è NULL (0x00), la stringa termina qui. Di conseguenza la [Start position] supera la posizione di avvio disponibile. Questo si considera errato nel “Risultato operazione”.
AあB 1 3 5AあB
La stringa viene memorizzata in base al [Number of characters]. *1
2 3 5(nessuno)
La stringa non viene memorizzata perché [Number of characters] ha superato il numero di caratteri disponibile. Questo si considera errato nell'operazione “Risultato operazione”.
2 2 5あB
La stringa viene memorizzata in base al [Number of characters]. *1
*1 Se il numero massimo di Byte nella variabile [Destination Data] è minore della dimensione della stringa recuperata, l'operazione non riesce. Il numero massimo di Byte dipende dalla codifica della variabile [Destination Data].