String_TO_ArrayOfByte: Tableau de sortie et valeur ASCII de la chaîne d'entrée

 

Fonction String_TO_ArrayOfByte

Schéma d'affectation des broches

La figure ci-dessous présente le schéma d'affectation des broches de la fonction String_TO_Ar­rayOfByte :

G-SG-0030358.3.gif-high.gif

 

 

Description fonctionnelle

La fonction String_TO_ArrayOfByte est une sortie Array [255] d'octets représentant la valeur ASCII de la chaîne d'entrée.

Si l'entrée ORDER a la valeur TRUE, l'ordre des valeurs de sortie correspond à l'ordre des caractères de la chaîne en entrée. Il existe donc une correspondance biunivoque 1:1 dans l'ordre des entrées et l'ordre des valeurs ASCII renvoyées en sortie comme expliqué à l'exemple 1.

Si l'entrée ORDER a la valeur FALSE, la sortie est telle que la valeur ASCII du caractère chaîne en input[1] de l'entrée est array[1..255] affichée en position[2] de la sortie. La valeur ASCII du caractère chaîne en input[2] de l'entrée array[1..255] est affichée en position 1 de la sortie. De même la valeur ASCII du caractère chaîne en input[3] de l'entrée array[1..255] est affichée en position 4 de la sortie et la valeur ASCII du caractère chaîne en input[4] de l'entrée array[1..255] est affichée en position 3 de la sortie comme expliqué dans l'exemple 2.

Exemple 1

Si l'entrée ORDER a la valeur TRUE, seul le tableau de sortie est affiché dans l'ordre de l'entrée chaîne comme indiqué ci-dessous :

i_sIput='ABCDE'

i_xOrdr= TRUE

Alors la sortie de la conversion de chaîne en tableau d'octets est :

ooutput [1] = 65

ooutput [2] = 66

ooutput [3] = 67

ooutput [4] = 68

ooutput [5] = 69

ooutput [6] = 0

Comme indiqué dans l'exemple ci-dessus, Input [1] = A, son code ASCII correspondant est 65, affiché en position output [1].

De même input [2] = B, son code ASCII correspondant est 66, affiché en position output [2], etc.

Exemple 2

i_sIput='ABCDE'

i_xOrdr= FALSE

Alors la sortie de la conversion de chaîne en tableau d'octets est :

ooutput [1] = 66

ooutput [2] = 65

ooutput [3] = 68

ooutput [4] = 67

ooutput [6] = 0

ooutput [5] = 69

Comme indiqué dans l'exemple ci-dessus,

Input [1] = A, son code ASCII correspondant est 65, affiché en position output [2].

Input [2] = B, son code ASCII correspondant est 66, affiché en position output [1].

De même Input [3] = C, son code ASCII correspondant est 67, affiché en position output [4].

Input [4] = D, son code ASCII correspondant est 68, affiché en position output [3].

De même Input [5] = E, son code ASCII correspondant est 69, affiché en position output [6].

Input [6] = (espace), son code ASCII correspondant est " " (c'est-à-dire un espace), il est affiché en position output [5].

NOTE : Mais si le nombre d'octets en entrée est 255, l'entrée ORDER a la valeur FALSE. La valeur ASCII reste alors à la même position (voir exemple 3 ci-dessous).

Input:

oi_sIput [1...250]='A'

oi_sIput [251...255]='BCDEF'

Order: FALSE

Sortie

oOutput [1...250]:='65'

oOutput [251...255]='CBEDF'

Description des broches d'entrée

Ce tableau décrit les broches d'entrée du bloc fonction String_TO_ArrayOfByte :

Entrée

Type de données

Description

i_sIput

STRING [1...255]

Valeur chaîne d'entrée (1...255)

i_xOrdr

BOOL

TRUE : Sortie dans l'ordre de l'entrée

FALSE : La sortie échange les octets de poids fort et de poids faible.

NOTE : L'utilisateur doit obligatoirement définir la taille de la chaîne input[255], sinon la chaîne est prise comme 80 par défaut.

Description des broches de sortie

Ce tableau décrit les broches de sortie du bloc fonction String_TO_ArrayOfByte :

Sortie

Type de données

Description

String_TO_Array OfByte

ARRAY [0...255] OF BYTE

Tableau de valeurs ASCII

Plage : 0...255

Instanciation et exemple d'utilisation

Cette figure présente une instance du bloc fonction String_TO_ArrayOfByte :

G-SG-0030359.1.gif-high.gif

 

 

Avec l'entrée Order

i_sIput [255]:

oInput [1] = A

oInput [2] = B

oInput [3] = C

oInput [4] = D

oInput [5] = E

i_xOrdr: TRUE

La fonction String_TO_ArrayOfByte affiche "65, 66, 67, 68, 69"

Sans l'entrée Order

i_sIput [255]:

oInput [1] = A

oInput [2] = B

oInput [3] = C

oInput [4] = D

oInput [5] = E

i_xOrdr: FALSE

La fonction String_TO_ArrayOfByte affiche "66, 65, 68, 67, 69"