# Estrarre stringa (sinistra/destra)

Estrae una stringa dal bordo sinistro o destro.

##### Blocco

##### Testo

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

# | Descrizione
1 | [Destination Data] Impostare i dati sorgente in cui si vuole memorizzare la stringa estratta.
2 | Direzione per estrarre la stringa ##### Blocco [FromLeft] [FromRight] ##### Testo 'substringFromLeft' 'substringFromRight' Selezionare la direzione usata per estrarre la stringa. (Esempio) Stringa:"ABCDE", [Number of characters]: 3 Caratteri rosso sono estratti. Quando si seleziona [FromLeft]: ABC DE Quando si seleziona [FromRight]: AB CDE
3 | [Number of characters] Impostare il blocco che specifica 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 = substringFromLeft(Var3,Var1);

## Esempio di operazione

Variabile in [Source Data] | [Way to extract] | [Number of characters] | Variabile in [Destination Data] | Commenti
Stringa target | Numero massimo di Byte | Stringa estratta da memorizzare
ABCDE | FromLeft | 3 | 5 | ABC | -
0 | 5 | (nessuno) | La stringa non viene memorizzata perché il [Number of characters] è minore di 1. Questo si considera errato nell'operazione “Risultato operazione”.
3.6 | 5 | ABC | I valori a destra del punto decimale in [Number of characters] vengono troncati.
FromRight | 3 | 5 | CDE | -
-1 | 5 | (nessuno) | La stringa non viene memorizzata perché il [Number of characters] è minore di 1. Questo si considera errato nell'operazione “Risultato operazione”.
3.7 | 5 | CDE | I valori a destra del punto decimale in [Number of characters] vengono troncati.
AB | FromLeft | 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”.
FromRight | 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”.
ABCD(0x00)C | FromRight | 3 | 5 | BCD | Se c’è NULL (0x00), la stringa termina qui.
AB(0x00)CD | FromLeft | 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”.
AB(0x00)CDEF | FromRight | 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”.
ABCDEFGH | FromLeft | 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”.
FromRight | 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”.
AあB | FromLeft | 3 | 5 | AあB | La stringa viene memorizzata in base al [Number of characters]. *1
FromRight | 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].