Oui ---
est une clause PICTURE
valide. La variable correspondant à ce PICTURE
acceptera les affectations de valeurs numériques comprises entre -99 et +99. Il ne peut pas être affecté de non-numériques (espace par exemple). Cependant, si vous deviez DISPLAY
cette variable après lui avoir assigné une valeur numérique, les zéros en tête seront remplacés par des espaces. Par conséquent, si vous MOVE ZERO
à cet article il sera DISPLAY
seulement des espaces. Tenter de MOVE SPACES
à cet élément entraînera une erreur de compilation (types de données incompatibles). Ce dernier bit peut sembler un peu contre-intuitif, mais rappelez-vous que ce type de clause PICTURE
implique un USAGE
d'affichage - essentiellement les éléments définis de cette manière sont utilisés pour «jolies» numéros d'impression. À propos des seules opérations que vous pouvez préformer avec USAGE DISPLAY
articles est MOVE
à ou à partir et DISPLAY
eux.
EDIT - Réponse au commentaire
Un PICTURE
de ---X(2)
est invalide. Le tableau ci-dessous illustre les combinaisons et l'ordre dans lequel les symboles peuvent apparaître dans une chaîne PICTURE
. Notez que les parenthèses ne sont pas dans le graphique. Logiquement, vous pouvez les remplacer par le nombre correspondant d'occurrences du caractère précédent avant de lire la chaîne. Par exemple X(3)
est lu comme XXX
. Si vous voulez vraiment analyser une chaîne PICTURE
correctement, vous pouvez utiliser ce tableau pour construire une grammaire BNF spécifiquement pour eux.
Merci @NealB. Donc, je suppose que vous ne pouvez pas mélanger un affichage numérique comme --- et X (2) de sorte que vous avez --- X (2)? Cela serait-il valide? Merci :) – Decrypter
@Decrypter Voir la réponse modifiée ... – NealB