Questions fréquentes (FAQ)

Poser une question

Comment convertir sous Unity Pro la comparaison d'une valeur immédiate à une chaîne de caractères, contenue dans un tableau d'octets de type %MB sous PL7 ?

D'une façon générale le principe est de déclarer dans l'éditeur de variables élémentaires une variable de type String[x] à partir de l'adresse %MWi;
avec x = la longueur de la chaîne de caractères à comparer
et i=j/2 l'adresse du mot %MWi contenant l'octet %Mj d'origine sous PL7.

Exemple :
Sous PL7 la syntaxe est la suivante :
    IF %MB10:6='abcdef' Then Set %M1; End_if;

Sous Unity la syntaxe sera :
    IF toto='abcedf' then set (%M1); End_if
avec variable toto définie en String[6] sur l'adresse %MW5 dans l'éditeur de variables élémentaires.

Remarque :
Comme les octets %MB n'existent pas sous Unity, pour conserver un moyen mnémotechnique sur l'adresse de la chaîne, le convertisseur PL7 /Unity propose automatiquement un nom de variable sous la forme Mbj_x.
Ceci n'est effectué qu'à la condition qu'aucun symbole ne soit déclaré sur la variable.
Le résultat après conversion automatique est :
IF Mb10_5='abcedf' then set (%M1); End_if; avec variable Mb10_5 définie en String[6] sur l'Adresse %MW5 dans l'éditeur de variables élémentaires.

Cela vous a-t-il aidé ?
Que pouvons-nous faire pour améliorer l'information ?