Search this site
Embedded Files
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
  • More
    • Accueil
    • BBC BASIC
    • BBC OS
    • BBC MODULES
    • RUBRIQUES
    • LIENS

⇨ MENU ⇨ BBC BASIC

PRINT

DESCRIPTION.


L'instruction PRINT affiche des caractères dans la fenêtre de sortie ou vers l'imprimante.


Voir l'instruction PRINT # qui permet d'écrire des données dans un fichier.




SYNTAXE.


PRINT liste d'impression 




REMARQUES.


liste d'impression est un ou une suite d'éléments tel que : une suite de symboles entre guillemets ; une valeur numérique brute ; une variable ; une virgule ; un point-virgule ; etc ...




GÉNÉRALITÉS.


Si liste d'impression ne se termine pas par un point-virgule, un saut de lignes sera exécuté à la suite de liste d'impression, et l'affichage de la prochaine liste d'impression débutera à la position 0, première colonne, de la ligne suivante de la surface d'impression, sauf si une instruction de placement, comme l'instruction TAB( ) est utilisée. Si liste d'impression a été affiché sur la dernière ligne de la surface textuelle, les lignes affichées seront remontées d'une ligne, pour créer une nouvelle ligne vierge en dernière position.


L'instruction PRINT est la commande indispensable pour afficher des textes bruts, des valeurs de variables ou des résultats d'opérations ou de fonctions à l'écran. De plus, le BBC BASIC offre plusieurs possibilités de controler le format de sortie des caractères pour une présentation personnalisée des affichages.


La surface textuelle de la fenêtre de sortie est divisée en lignes, elles-mêmes divisées en colonnes, mais aussi en champs d'affichage, ou zones d'impression. Un champ ayant, par défaut, une longueur de 10 colonnes. Si un élément de la liste d'impression est précédé d'une virgule, il sera affiché au début du champ suivant.


Les chaines de caractères sont alignées à gauche du curseur textuel, et les valeurs numériques sont alignées à droite du champs suivant, en laissant un nombre suffisant d'espace avec l'affichage précédant si nécessaire. Pour afficher une valeur numérique depuis la gauche du curseur textuel, et sans insérer d'espace, il faudra qu'elle soit précédée d'un point-virgule. Il est aussi possible d'afficher les valeurs numériques en tant que chaine de caractères en utilisant la fonction STR$( ).


Note : si une valeur numérique est précédée du signe tilde (~), elle sera affichée au format hexadécimal.



La forme la plus simple de l'instruction est de placer la liste d'impression directement à la suite de l'instruction PRINT :

- PRINT "BBC Basic for SDL 2.0" : REM - affiche le contenu entre la paire guillemets tel quel.

- PRINT kstring$ : REM - affiche la chaine de caractere de la variable

- PRINT knumber : REM - affiche la valeur numérique de la variable

- PRINT ( 7 + 4 ) * 3 : REM - affiche le résultat de l'opération

- PRINT ~54321 : REM - affiche D431

- PRINT ~&ABC : REM - affiche ABC



Si la liste d'impression comporte plusieurs éléments, il faut les placer un séparateur de champ entre chaque élément, soit :

- un point-virgule (;), qui affichera les deux éléments sans aucun espace supplémentaire entre eux ;

- une virgule (,), affichera l'élément qui le suit sur le début du champ suivant ;

- une apostrophe ('), provoque un saut de ligne. 

PRINT "BBC" ; "Basic" : REM - retourne BBCBasic

PRINT "BBC" , "Basic" : REM - retourne BBC     Basic

PRINT "SDL" ; 2.0 : REM - retourne SDL2

PRINT "SDL" , 2.0 : REM - retourne SDL     2

PRINT 19 ; 79 : REM - retourne      1979

PRINT 19 , 79 : REM - retourne      19      79

PRINT "BBC Basic" ' "for SDL 2.0" : REM - retourne BBC Basic et for SDL 2.0 sur 2 lignes



Pour positionner le début d'un affichage, on pourra adjoindre l'instruction TAB() à PRINT. L'instruction TAB() attend deux paramètre, en premier la colonne et en deuxième la ligne où doit être déplacé le curseur textuel.

PRINT TAB( 25 , 12 ) "BBC Basic "for SDL 2.0"


Voir l'instruction TAB() pour plus de détails sur les différentes formes de l'instruction TAB().

Voir le module editbox.bbc qui propose des procédures et des fonctions pour la insérer et gérer un éditeur de texte multiligne.




FORMATAGE DES AFFICHAGES.


La variable système @% permet de formater finement l'affichage des éléments d'une liste d'impression.


La variable système @% comprend 4 octets, chaque octet controlant un aspect du format d'impression. Bien que la valeur de la variable @% puis être exprimée, ou retournée, de façon décimale, l'utilisation du format hexadécimale est conseillée car il permet une meilleur visualisation des options choisies, chacun des 4 octets pouvant être considéré individuellement.

PRINT @% : REM - retourne 2314 (valeur décimale de @% par défaut)

PRINT ~@% : REM - retourne 90A (valeur hexadécimale de @% par défaut)


Rappel : le symbole & placé devant une valeur numérique, indique que cette valeur est exprimée en hexadécimal. Les chiffres des valeurs hexadécimales sont 0123456789ABCDEF.

OCTET 3 : Controle du format de la conversion des nombres par STR$( ).


Note : la valeur par défaut de l'octet 1 est &00.


La valeur de l'octet 3 gère le type de format qui sera retourné par la fonction STR$( ). Si sa valeur est : 

- &00, la chaine de caractères retournée aura le format du type G9 (voir octet 1, ci-dessous) ;

- &01, la chaine de caractères retournée aura le format défini par la suite des valeurs de la variable @%. 


Si la valeur de l'octet 3 est &00, elle peut ne pas être notée, mais par souci de lisibilité et pour un maintenant futur du script, il est fortement conseillé de l'indiquer, pour que les 4 octets soit bien visibles. Par exemple :  @% = &00020608 est plus lisible que  @% = &020608, qui ne comprend que les valeurs des octets 2, 1 et 0.



Voir la fonction STR$( ) pour plus de détails sur la conversion des valeurs numériques en chaines de caractères.



OCTET 2 : Sélection du format de l'affichage des nombres.


Note : la valeur par défaut de l'octet 2 est &00.


La valeur de l'octet 2 gère le type de format qui sera appliqué pour l'affichage des nombres. Si sa valeur est : 

- &00, le formatage des nombres sera exprimé au format général (G) ;

- &01, le formatage des nombres sera exprimé au format exponentiel (E) ;

- &02, le formatage des nombres sera exprimé au format fixe (F) ;

- &42, annule la limite des décimales pouvant être affichées par la valeur de F dans l'octet 1 ;

- &80, idem &00, mais affiche d'une virgule, au lieu d'un point, pour indiquer la partie décimale ;

- &81, idem &01, mais affiche d'une virgule, au lieu d'un point, pour indiquer la partie décimale ;

- &82, idem &02, mais affiche d'une virgule, au lieu d'un point, pour indiquer la partie décimale ;

- &C2, annule la limite des décimales pouvant être affichées par la valeur de F et affiche une virgule décimale.


Avec les valeurs &42 ou &C2, et si besoin, des zéros de fin seront ajoutés pour compléter l'affichage.



Dans le format général (G) : 

- les nombres entiers et les nombres compris entre 0,0001 et 1 sont affichés comme tels ;

- les nombres inférieurs à 0,0001 sont affichés au format exponentiel (E) comme défini par l'octet 1 ;

- les nombres supérieurs à la plage définie par l'octet 1 seront affichés au format exponentiel (E). 


Dans ce dernier cas, le nombre de chiffres affichés reste controlé par l'octet 1, mais selon les règles du format exponentiel (E).



Dans le format exponentiel (E) les nombres sont affichés en notation scientifique. l'affichage comprend : 

- un nombre de 0 à 9, la partie entière ; 

- un point, ou une virgule pour séparer la partie entière de la partie décimale ;

- un certain nombre de chiffres, défini par la valeur de l'octet 1, pour la partie décimale ; 

- le symbole E ; 

- un nombre entier, positif ou négatif.


La partie avant le symbole E est nommée la mantisse et la partie après le symbole E est appelé l'exposant. L'exposant indique de combien de rangs il faut déplacer le point, ou la virgule, pour obtenir la valeur réelle du nombre. Si l'exposant est positif, on déplace le point vers la gauche (grand nombre). Si l'exposant est négatif, on déplace le point vers la droite (petit nombre). Par exemple : 4.56E5 vaut 456000 et 4.56E-5 vaut 0.0000456. 


Le format exponentiel (E) est aussi nommé format scientifique ou format d’ingénierie.



Dans le format fixe (F) les nombres sont affichés avec une partie décimale de longueur fixe, en nombre de chiffres. Si besoin des 0 seront ajoutés en fin de nombre. Si la partie décimale est plus longue que le nombre de chiffres à afficher, elle sera tronquée à la valeur la plus significative possible.



OCTET 1 : Nombre de chiffres significatifs pour l'affichage des nombres.


Note : la valeur par défaut de l'octet 3 est &09.


La valeur de l'octet 3 indique la quantité de chiffres à afficher pour les valeurs numériques, et uniquement des chiffres, c'est-à-dire que les autres symboles : point, virgule, E, et exposant au format E, ne sont pas pris en compte pour le décompte.


Si la valeur de l'octet 2 est &00 ou &80 (format général) la valeur de l'octet 3 doit être compris en &00 et &0E. Si le nombre a afficher comporte plus de chiffres que cette valeur, le nombre sera exprimé selon le format exponentiel (E) ou la valeur de l'octet 2 indique le nombre de chiffres de la mantisse. 


Si la valeur de l'octet 2 est &01 ou &81 (format exponentiel) la valeur de l'octet 3 doit être compris en &00 et &FF. 


Si la valeur de l'octet 2 est &02 ou &82 (format fixe) la valeur de l'octet 3 doit être compris en &00 et &0E. Cette valeur indique le nombre de chiffres qui doivent figurer à la droite du point, ou de la virgule, pour la exprimer la partie décimale.


  

OCTET 0 : Nombre de colonnes pour un champ d'affichage.


Note : la valeur par défaut de l'octet 4 est &0A.


La valeur de l'octet 4 indique la taille, en colonnes, c'est-à-dire en nombre de caractères, des champs d'affichage ou zone d'impression. Sa valeur doit être comprise en &00 et &FF. Mais il est vivement conseillé de ne pas excéder la moitié du nombre de colonnes de la surface textuelle, ou d'impression de l'imprimante, pour ne pas engendrer de comportement imprévisible.  


Voir le module fnusing.bbc propose des fonctions permettant de formater l'affichage des chaines de caractères.




RUBRIQUES.


L'affichage des textes pour plus de détails sur la gestion de l'affichage des textes.

La gestion des couleurs pour plus de détails sur la gestion des couleurs logiques et physiques.




EXEMPLE.


PRINT "Mon BBC BASIC pas à pas."

Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de

vos remarques, vos commentaires et de vos suggestions.

Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour

TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER

avec un exemple de résolution à télécharger pour vous inspirer.

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse