ArrayOfByte_TO_String: Convertire gli array dal formato byte al formato stringa
Funzione ArrayOfByte_TO_String
Questa figura mostra lo schema dei pin della funzione ArrayOfByte_TO_String:
La stringa di uscita [255] è l'insieme di caratteri della stringa corrispondenti al valore ASCII all'array di ingresso fornito in formato Byte.
Se l'ingresso Ordine è TRUE, l'ordine dei caratteri nella stringa di uscita corrisponde all'ordine dei byte all'array dell'ingresso. Ciò significa che esiste una corrispondenza 1:1 tra l'ordine dei byte di ingresso e l'ordine dei caratteri della stringa restituiti all'uscita come illustrato nell'esempio 1.
Se l'ingresso Ordine è FALSE, l'ordine dei caratteri della stringa di ingresso verrà impostato di modo che il carattere della stringa corrispondente al valore ASCII all'ingresso[1] venga visualizzato nella posizione di uscita[2] dell'uscita[1 - 255]. Il carattere della stringa corrispondente al valore ASCII all'ingresso[2] verrà visualizzato nella posizione di uscita[1] dell'uscita[1 - 255].
Il carattere della stringa corrispondente al valore ASCII all'ingresso[3] verrà visualizzato nella posizione di uscita[4] dell'uscita[1 - 255]. Il carattere della stringa corrispondente al valore ASCII all'ingresso[4] verrà visualizzato nella posizione di uscita[3] dell'uscita[1 - 255] come illustrato nell'esempio 2.
Solo se l'ingresso Ordine è FALSE, l'ingresso Spazio è TRUE e il numero dei byte di ingresso all'ingresso è dispari, verrà aggiunto uno spazio prima dell'ultimo carattere della stringa dell'uscita come illustrato nell'esempio 3 e 4.
Se l'ingresso Ordine è TRUE, l'ingresso Spazio non ha alcun effetto sull'uscita, come illustrato nell'esempio 6.
Ingresso: ARRAY [1 - 255] OF BYTE = 72, 69, 76, 76, 79;
Ordine: TRUE
Spazio: FALSE
Stringa: 'HELLO'
Come mostrato nell'esempio precedente, l'ordine dei caratteri nella stringa di uscita corrisponde all'ordine dei byte di ingresso, ossia il valore del byte in prima posizione dell'Array[1- 255] è 72 e corrisponde al valore della stringa in prima posizione dell'uscita, ossia H. Il valore del byte in seconda posizione dell'Array[1- 255] è 69 e corrisponde al valore della stringa in seconda posizione dell'uscita, ossia E, e così via.
Ingresso: ARRAY [1..255] OF BYTE = 65, 66, 67, 68, 69, 70, 71;
ByteOrder: FALSE
InsertSpace: FALSE
Stringa: ‘BADCFEG’
Come mostrato nell'esempio precedente, l'ordine dei caratteri della stringa di uscita è cambiato, ossia il valore del byte in prima posizione dell'Array [1- 255] è 65, che corrisponde al valore della stringa in seconda posizione dell'uscita, ossia A. Il valore del byte in seconda posizione dell'Array[1- 255] è 66, che corrisponde al valore della stringa in quarta posizione dell'uscita, ossia B. In modo analogo, il valore del byte in terza posizione dell'Array[1- 255] è 67, che corrisponde al valore della stringa in quarta posizione dell'uscita, ossia C. Il valore del byte in quarta posizione dell'Array[1- 255] è 68, che corrisponde al valore della stringa in terza posizione dell'uscita, ossia D e così via.
Ingresso: ARRAY [1 - 255] OF BYTE = 72, 69, 76, 76, 79;
Ordine: FALSE
Spazio: TRUE
Stringa: ‘EHLL O’
Ingresso: ARRAY [1 - 255] OF BYTE = 65, 66, 67, 68, 69, 70, 71;
Ordine: FALSE
Spazio: TRUE
Stringa: ‘BADCFE G’
Come mostrato negli esempi precedenti 3 e 4, il numero di ingressi è 5 nell'esempio 3 e 7 nell'esempio 4. Dal momento che 5 e 7 sono numeri dispari, l'ingresso Ordine è FALSE e l'ingresso Spazio è TRUE. Pertanto, le uscite della stringa sono rispettivamente 'EHLL O' E 'BADCFE G'.
NOTA: Tuttavia, se il numero di byte all'ingresso corrisponde a 255, l'ingresso Ordine è FALSE e l'ingresso Spazio è TRUE. L'ingresso Spazio diventa insignificante, come illustrato nell'esempio 5 riportato sotto.
Ingresso: ARRAY [1..250] OF BYTE = 65 e ARRAY [251..255] OF BYTE = 66, 67, 68, 69, 70;
Ordine: TRUE
Spazio: TRUE/FALSE
Stringa[1..250]: 'A' e Stringa[251..255] = ‘CBEDF’
Come mostrato nell'esempio precedente, se il numero di byte all'ingresso è 255, l'uscita della stringa non viene influenzata dall'ingresso Spazio
Ingresso: ARRAY [1 - 255] OF BYTE = 65, 66, 67, 68, 69, 70, 71;
Ordine: TRUE
Spazio: TRUE
Stringa: ‘ABCDEFG’
Come mostrato in precedenza, se l'ingresso Ordine è TRUE, l'ingresso Spazio diventa insignificante.
Descrizione dei pin di ingresso
Questa tabella descrive i pin di ingresso della funzione ArrayOfByte_TO_String:
Ingresso |
Tipo di dati |
Descrizione |
---|---|---|
i_abyIput |
ARRAY [0 - 255] DI BYTE |
Valore d'ingresso Campo: 0 - 255 |
i_xOrdr |
BOOL |
TRUE: in ordine di ingresso FALSE: scambia il byte più alto e il byte più basso |
i_xSpce |
BOOL |
TRUE: inserisce uno spazio quando i_xOrdr è basso FALSE: non viene inserito nessuno spazio. |
NOTA: I_xSpce inserirà uno spazio appena prima dell'ultimo carattere della stringa di uscita quando l'ingresso Ordine è FALSE e il numero di byte di ingresso è dispari.
Questa tabella descrive i pin di uscita della funzione ArrayOfByte_TO_String:
Uscita |
Tipo di dati |
Descrizione |
---|---|---|
ArrayOfByte_TO_String |
STRING(255) |
Uscita dei caratteri della stringa |
NOTA: L'utente deve obbligatoriamente definire la dimensione dell'uscita della stringa [255]; in caso contrario la dimensione viene impostata per impostazione predefinita sul valore 80.
Esempio di istanziamento e utilizzo
La figura seguente mostra un'istanza della funzione ArrayOfByte_TO_String:
Ingresso Con ordine e ingresso Senza spazio
Se l'ingresso è:
oi_abyIput [255]
oIngresso [1] = 65
oIngresso [2] = 66
oIngresso [3] = 67
oIngresso [4] = 68
oIngresso [5] = 69
oi_xOrdr: TRUE
oi_xSpce: FALSE
ArrayOfByte_TO_String visualizza ‘ABCDE’.
Ingresso Con ordine e ingresso Con spazio
Se l'ingresso è:
oi_abyIput [255]
oIngresso [1] = 65
oIngresso [2] = 66
oIngresso [3] = 67
oIngresso [4] = 68
oIngresso [5] = 69
oi_xOrdr: FALSE
oi_xSpce: TRUE
ArrayOfByte_TO_String visualizza ‘BADC E’