Introduction
Les types de données au format chaîne de caractères appartiennent à la famille EDT (Elementary data type, type de données élémentaires), qui contient des types de données simples et non dérivés (tableaux, structures, blocs fonction).
Type chaîne de caractères
Le format chaîne de caractères est utilisé pour représenter une chaîne de caractères ASCII dans laquelle chaque caractère est codé au format 8 bits.
Caractéristiques des types chaîne de caractères :
Par défaut, une chaîne contient 16 caractères (sans compter les caractères de fin de chaîne).
Une chaîne contient des caractères ASCII compris entre 16#20 et 16#FF (représentation hexadécimale).
Dans une chaîne vide, le caractère de fin de chaîne (code ASCII "ZERO") est en première position.
Une chaîne de caractères peut contenir un maximum de 65535 caractères.
La taille de la chaîne de caractères peut être optimisée lors de la définition du type à l'aide de la commande STRING[<taille>], où <taille> est un entier non signé (UINT) capable de définir une chaîne de 1 à 65535 caractères ASCII.
Règles syntaxiques
Un guillemet simple « ’ » (code ASCII 16#27) précède et termine l'entrée.
Le symbole $ (dollar) et un caractère spécial dont la signification est la suivante lorsqu'il est suivi de ces lettres :
$L ou $l, aller à la ligne suivante (retour à la ligne)
$N ou $n, aller au début de la ligne suivante (nouvelle ligne)
$P ou $p, aller à la page suivante
$R ou $r, retour chariot
$T ou $t, tabulation (Tab)
$$, représente le caractère $ dans une chaîne
$’, représente le guillemet dans une chaîne
La syntaxe $nn permet à l'utilisateur d'afficher, dans une variable STRING, des caractères qui ne sont pas destinés à l'impression, comme un retour chariot (code ASCII 16#0D), par exemple.
Exemples
Exemples de saisies :
Type |
Saisie |
Contenu de la chaîne • représente le caractère de fin de chaîne * représente des octets vides |
---|---|---|
STRING |
‘ABCD’ |
ABCD•************ (16 caractères) |
STRING[4] |
‘jean’ |
jean• |
STRING[10] |
‘It$’ jean’ |
It$’ jean•* |
STRING[5] |
’’ |
•***** |
STRING[5] |
’$’’ |
’•**** |
STRING[5] |
‘Le nombre’ |
Le no• |
STRING[13] |
’0123456789’ |
0123456789•*** |
STRING[5] |
‘$R$L’ |
<cr><lf>•*** |
STRING[5] |
’$$1,00’ |
$1,00• |
Déclaration de variable de type STRING
Une variable de type STRING peut être déclarée de deux façons différentes :
STRING et
STRING[<Nombre d'éléments>]
Le comportement n'est pas le même suivant l'utilisation :
Type |
Déclaration de variable |
Paramètres d'entrée FFB |
Paramètres de sortie EF |
Paramètres de sortie FB |
---|---|---|---|---|
STRING |
Longueur fixe : 16 caractères |
La longueur correspond exactement à la longueur du paramètre d'entrée. |
La longueur correspond exactement à la longueur du paramètre d'entrée. |
Longueur fixe de 16 caractères |
STRING[<n>] |
Longueur fixe : n caractères |
La longueur correspond à la longueur du paramètre d'entrée, avec une limite de n caractères. |
L'EF écrit n caractères maximum. |
Le FB écrit n caractères maximum. |
Chaîne et le paramètre ANY
Lorsque vous utilisez une variable de type STRING en tant que paramètre de type ANY, il est vivement recommandé de vérifier que la longueur de la variable est inférieure à la longueur maximale déclarée.
Exemple :
Utilisation de STRING sur la fonction SEL (Sélecteur).
String1: STRING[8]
String2: STRING[4]
String3: STRING[4]
String1:= 'AAAAAAAA';
String3:= 'CC';
Cas 1 :
String2:= 'BBBB';
(* la taille de la chaîne est égale à la taille maximum déclarée *)
String1:= SEL(FALSE, String2, String3);
(* le résultat sera : 'BBBBAAAA' *)
Cas 2 :
String2:= 'BBB';
(* la taille de la chaîne est inférieure à la taille maximum déclarée *)
String1:= SEL(FALSE, String2, String3);
(* Le résultat sera : 'BBB' *)