ArrayOfByte_TO_String: Convertire gli array dal formato byte al formato stringa

 

Funzione ArrayOfByte_TO_String

Schema dei pin

Questa figura mostra lo schema dei pin della funzione ArrayOfByte_TO_String:

G-SG-0030330.3.gif-high.gif

 

 

Descrizione funzionale

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.

Esempio 1

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.

Esempio 2

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.

Esempio 3

Ingresso: ARRAY [1 - 255] OF BYTE = 72, 69, 76, 76, 79;

Ordine: FALSE

Spazio: TRUE

Stringa: ‘EHLL O’

Esempio 4

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.

Esempio 5

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

Esempio 6

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.

Descrizione dei pin di uscita

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:

G-SG-0030331.1.gif-high.gif

 

 

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’