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_ArrayOfByte :
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.
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.
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 :
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"
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"