Cancella caratteri da una stringa
DELETE cancella L caratteri nella stringa IN iniziando alla posizione P, dove 1 denota il primo carattere della stringa. Il risultato viene scritto nella variabile di uscita.
Ingresso
Stringa di ingresso
Numero di caratteri della stringa di ingresso che vengono cancellati
Posizione iniziale di cancellazione, dove 1 denota il primo carattere della stringa
Uscita
Stringa risultato
Se questa istruzione è utilizzata con stringhe UTF-8, fare riferimento alle note relative alle stringhe UTF-8 sotto il tipo di dati STRING.
Se la lunghezza della stringa di uscita supera la lunghezza definita per la variabile di uscita nel campo “Tipo”, viene copiato un numero di caratteri da sinistra pari a quello che la variabile di uscita può contenere. La variabile di sistema sys_bIsCarry è impostato.
se una stringa applicata in ingresso o in uscita è una stringa non valida
se una stringa applicata in ingresso o in uscita è una stringa non valida
se la lunghezza della stringa di uscita supera la lunghezza definita per la variabile di uscita nel campo "Tipo"
Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.
VAR
input_string: STRING[15]:='Ideas for life';
character_number: INT:=8;
start_position: INT:=6;
output_string: STRING[5]:='';
END_VAR
In questo esempio sono state dichiarate le variabili di ingresso (input_string, character_number e start_position). Al loro posto potete inserire la stringa ('Ideas for life'), il numero di caratteri da cancellare e la posizione iniziale direttamente nella funzione. La stringa deve essere inserita tra virgolette, sia nell'intestazione del POU sia nella funzione.
A partire da start_position(6), character_number (8) viene cancellato da input_string ('Ideas for life’). La stringa risultante ('Ideas') viene scritta in output_string.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,DELETE!,Instance,10,0,16,5,,?DIN?DL?DP?C);
B(B_VARIN,,input_string,8,1,10,3,);
B(B_VARIN,,character_number,8,2,10,4,);
B(B_VARIN,,start_position,8,3,10,5,);
B(B_VAROUT,,output_string,16,1,18,3,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
output_string:=DELETE(input_string, character_number, start_position);