SCREEN,
COLOR
GW-Basic, utilisé par PC-Basic
Exemple de programmation
Ex. 5 SCREEN 9:COLOR 7,0:CLS
SCREEN n
Pour définir les spécifications de l'écran d'affichage.
Syntaxe:
Le mode par défaut est SCREEN 0
SCREEN [mode] [,[colorswitch]][,[apage]][,[vpage]] Comments:
L'instruction SCREEN est principalement utilisée pour sélectionner un mode
d'écran approprié pour une configuration matérielle d'affichage particulière.
Les configurations matérielles et les modes d'écran pris en charge sont décrits
ci-dessous.
MDPA avec affichage monochrome : Mode 0
L'IBM Monochrome Display and Printer Adapter (MDPA) est utilisé pour se
connecter uniquement à un écran monochrome. Les programmes écrits pour cette
configuration doivent être en mode texte uniquement.
CGA avec écran
couleur : Modes 0, 1 et 2
L'adaptateur graphique couleur IBM (CGA) et l'écran couleur sont généralement
associés. Cette configuration matérielle permet l'exécution de programmes en
mode texte et de programmes graphiques à résolution moyenne et à haute
résolution.
EGA avec écran couleur : Modes 0, 1, 2, 7 et 8
Les cinq modes d'écran 0, 1, 2, 7 et 8 vous permettent de vous connecter à
l'écran couleur IBM lorsqu'il est connecté à un adaptateur graphique amélioré
IBM (EGA). Si les commutateurs EGA sont configurés pour la compatibilité CGA,
les programmes écrits pour les modes 1 et 2 fonctionneront exactement comme ils
le feraient avec le CGA. Les modes 7 et 8 sont similaires aux modes 1 et 2, sauf
qu'une plus large gamme de couleurs est disponible dans les modes 7 et 8.
EGA avec affichage couleur amélioré : modes 0, 1, 2, 7 et 8
Avec la configuration EGA/IBM Enhanced Display, les modes 0, 1, 2, 7 et 8
sont pratiquement identiques à leurs équivalents EGA/Color Display. Deux
différences possibles sont les suivantes :
En mode 0, la couleur de la
bordure ne peut pas être la même que pour l'affichage EGA/couleur car la bordure
ne peut pas être définie sur un affichage couleur amélioré lorsqu'il est en mode
texte 640 × 350.
La qualité du texte est meilleure sur l'affichage couleur amélioré (un bloc de 8 × 14 caractères pour l'affichage couleur amélioré par rapport à un bloc de 8 × 8 caractères pour l'affichage couleur).
EGA avec affichage couleur amélioré : Mode 9
La pleine capacité de l'affichage couleur amélioré est exploitée dans ce
mode. Le mode 9 permet la résolution la plus élevée possible pour la
configuration EGA/Enhanced Color Display. Les programmes écrits pour ce mode ne
fonctionneront pour aucune autre configuration matérielle.
EGA avec
affichage monochrome : Mode 10
L'écran monochrome IBM peut être utilisé pour afficher des graphiques
monochromes à une très haute résolution dans ce mode. Les programmes écrits pour
ce mode ne fonctionneront pour aucune autre configuration matérielle.
Arguments
L'argument mode est une expression entière avec les valeurs légales 0, 1, 2,
7, 8, 9 et 10. Toutes les autres valeurs sont illégales. La sélection d'un
argument de mode dépend principalement du matériel d'affichage prévu de votre
programme, comme décrit ci-dessus.
Chacun des modes SCREEN est décrit
individuellement dans les paragraphes suivants.
SCREEN 0
Mode texte uniquement
Format texte 40 × 25 ou 80 × 25 avec une
taille de boîte de caractères de 8 × 8 (8 × 14 avec EGA)
Affectation de 16
couleurs à l'un des 2 attributs
Affectation de 16 couleurs à l'un des 16
attributs (avec EGA)
SCREEN 1
Graphiques à résolution moyenne de 320 ×
200 pixels
Format texte 40 × 25 avec une taille de boîte de caractères de 8 ×
8
Affectation de 16 couleurs à l'un des 4 attributs
Prend en charge à la
fois EGA et CGA
2 bits par pixel
SCREEN 2
Graphiques haute
résolution 640 × 200 pixels
Format texte 80 × 25 avec une taille de boîte de
caractères de 8 × 8
Affectation de 16 couleurs à l'un des 2 attributs
Prend en charge à la fois EGA et CGA
1 bit par pixel
SCREEN 7
Graphiques à résolution moyenne de 320 × 200 pixels
Format texte 40 × 25 avec
une taille de boîte de caractères de 8 × 8
2, 4 ou 8 pages de mémoire avec
respectivement 64K, 128K ou 256K de mémoire installées sur l'EGA
Affectation
de l'une des 16 couleurs à 16 attributs
EGA requis
4 bits par pixel
SCREEN 8
Graphiques haute résolution 640 × 200 pixels
Format texte 80
× 25 avec une taille de boîte de caractères de 8 × 8
1, 2 ou 4 pages de
mémoire avec respectivement 64K, 128K ou 256K de mémoire installées sur l'EGA
Affectation de l'une des 16 couleurs à 16 attributs
EGA requis
4 bits par
pixel
SCREEN 9
Graphiques à résolution améliorée de 640 × 350 pixels
Format texte 80 × 25 avec une taille de boîte de caractères de 8 × 14
Affectation soit de 64 couleurs à 16 attributs
(plus de 64K de mémoire EGA),
soit de 16 couleurs à 4 attributs (64K de mémoire EGA)
Deux pages d'affichage
si 256 Ko de mémoire EGA sont installés
EGA requis
2 bits par pixel
(mémoire EGA 64K) 4 bits par pixel (mémoire EGA supérieure à 64K)
SCREEN 10 monitor=mono
Graphiques à résolution améliorée de 640 ×
350
Format texte 80 × 25 avec une taille de boîte de caractères de 8 × 14
Deux pages d'affichage si 256 Ko de mémoire EGA sont installés
Affectation
jusqu'à 9 pseudo-couleurs à 4 attributs
EGA requis
2 bits par pixel
Voici les attributs par défaut pour SCREEN 10, affichage monochrome :
Valeur d'attribut Pseudo-couleur affichée
0 Désactivé
1 Marche,
intensité normale
2 clignotement
3 Marche, haute intensité
Voici les valeurs de couleur pour SCREEN 10, affichage monochrome :
Valeur d'attribut Pseudo-couleur affichée
0 Désactivé
1 clignotement,
éteint à allumé
2 Clignotement, éteint à haute intensité
3 Clignotement,
allumé à éteint
4 Marche
5 Clignotement, à haute intensité
6
Clignotement, haute intensité à éteint
7 Clignotement, haute intensité à
allumé
8 Haute intensité
Pour les moniteurs composites et les téléviseurs, le commutateur de couleurs
est une expression numérique qui est vraie (non nulle) ou fausse (zéro). Une
valeur de zéro désactive la couleur et permet l'affichage d'images en noir et
blanc uniquement. Une valeur différente de zéro autorise la couleur. La
signification de l'argument colorswitch est inversée en mode SCREEN 0.
Pour les configurations matérielles qui incluent un EGA et suffisamment de
mémoire pour prendre en charge plusieurs pages d'écran, deux arguments sont
disponibles. Ces arguments apage et vpage déterminent les pages mémoire
"actives" et "visuelles". La page active est la zone en mémoire où les
instructions graphiques sont écrites ; la page visuelle est la zone de mémoire
qui s'affiche à l'écran.
L'animation peut être réalisée en alternant
l'affichage des pages graphiques. L'objectif est d'afficher la page visuelle
avec une sortie graphique terminée, tout en exécutant des instructions
graphiques dans une ou plusieurs pages actives. Une page s'affiche uniquement
lorsque la sortie graphique de cette page est terminée.
Ainsi, le fragment de programme suivant est typique :
SCREEN 7,, 1, 2 'travail à la page 1, afficher la page 2
.
. Sortie
graphique vers la page 1
. lors de la visualisation de la page 2
.
SCREEN 7,,2,1 'travail à la page 2, afficher la page 1
.
. Sortie
graphique vers la page 2
. lors de la visualisation de la page 1
Le nombre de pages disponibles dépend du mode SCREEN et de la quantité de
mémoire disponible, comme décrit dans le tableau suivant :
Tableau 2
Spécifications du mode SCREEN
Mode | Résolution | Plage d'attributs | Gamme de couleurs | Mémoire EGA | Pages | Taille de la page |
0 | 40-colonne texte | NA | 0-15a | NA | 1 | 2K |
80-colonne texte | NA | 0-15a | NA | 1 | 4K | |
1 | 320×200 | 0-3b | 0-3 | NA | 1 | 16K |
2 | 640×200 | 0-1b | 0-1 | NA | 1 | 16K |
7 | 320×200 | 0-15 | 0-15 | 64K | 2 | 32K |
128K | 4 | |||||
256K | 8 | |||||
8 | 640×200 | 0-15 | 0-15 | 64K | 1 | 64K |
128K | 2 | |||||
256K | 4 | |||||
9 | 640×350 | 0-3 | 0-15 | 64K | 1 | 64K |
0-15 | 0-63 | 128K | 1 | 128K | ||
0-15 | 0-63 | 256K | 2 | |||
10 | 640×350 | 0-3 | 0-8 | 128K | 1 | 128K |
256K | 2 |
a Les nombres compris entre 16 et 31 sont des versions clignotantes des
couleurs 0-15.
b Attributs applicables uniquement avec EGA.
Attributs et couleurs
Pour divers modes d'écran et configurations matérielles d'affichage, différents paramètres d'attribut et de couleur existent. (Voir l'instruction PALETTE pour une discussion sur l'attribut et le numéro de couleur.)
La majorité de ces configurations d'attributs et de couleurs sont résumées
dans le tableau suivant :
Attributs et couleurs par défaut pour la
plupart des modes d'écran
Tableau 3
Attributs pour le Mode | Affichage couleur | Affichage monochrome | ||||
1,9 | 2 | 0,7,8,9b | Numéroc | Couleur | Numéroc | Couleur |
0 | 0 | 0 | 0 | Noir | 0 | Off |
1 | 1 | Bleu | (Souligné)a | |||
2 | 2 | Vert | 1 | Ona | ||
3 | 3 | Cyan | 1 | Ona | ||
4 | 4 | Rouge | 1 | Ona | ||
5 | 5 | Magenta | 1 | Ona | ||
6 | 6 | Marron | 1 | Ona | ||
7 | 7 | Blanc | 1 | Ona | ||
8 | 8 | Gris | 0 | Off | ||
9 | 9 | Bleu clair | Haute intensité(Souligné) | |||
10 | 10 | Vert clair | 2 | Haute intensité | ||
1 | 11 | 11 | Cyan clair | 2 | Haute intensité | |
12 | 12 | Rouge clair | 2 | Haute intensité | ||
2 | 13 | 13 | Magenta clair | 2 | Haute intensité | |
14 | 14 | Jaune | 2 | Haute intensité | ||
3 | 1 | 15 | 15 | Blanc haute intensité | 0 | Off |
a Désactivé lorsqu'il est utilisé pour l'arrière-plan.
b Avec mémoire EGA
> 64K.
c Uniquement pour le mode 0 monochrome.
Les couleurs de premier
plan par défaut pour les différents modes sont données dans le tableau suivant :
Tableau 4
Couleurs de premier plan par défaut
Attribut de premier plan par défaut | Couleur de premier plan par défaut | |||
Screen mode | Affichage couleur/étendua | Affichage monochrome | Affichage couleur/étendua | Affichage monochrome |
0 | 7 | 7 | 7 | 1 |
1 | 3 | NA | 15 | NA |
2 | 1 | NA | 15 | NA |
7 | 15 | NA | 15 | NA |
8 | 15 | NA | 15 | NA |
9 | 3b | NA | 63 | NA |
10 | NA | 3 | NA | 8 |
a écran couleur amélioré IBM
b 15 si supérieur à 64K de mémoire EGA
NA=Non Applicable
Liste des couleurs EGA
Exemple
5 SCREEN 9:COLOR 7,0:CLS
10 FOR I = 0 TO 63
20 COLOR 15,I:PRINT I
30 A$
= INKEY$:IF A$="" THEN 30
40 CLS
50 NEXT I
60 SCREEN 0:COLOR 7,0:CLS
COLOR
Pour sélectionner les couleurs d'affichage
Syntaxe:
COLOR [foreground][,[background][,border]]
COLOR [background][,[palette]]
COLOR [foreground][,[background]]
Commentaires:
En général, COLOR vous permet de sélectionner les couleurs de premier plan et d'arrière-plan pour l'affichage.
Dans SCREEN 0, une couleur de bordure peut également être sélectionnée.
Dans SCREEN 1, aucune couleur de premier plan ne peut être sélectionnée, mais l'une des deux palettes de quatre couleurs peut être sélectionnée pour être utilisée avec des instructions graphiques.
Les différentes
syntaxes et effets qui s'appliquent aux différents modes d'écran sont décrits
ci-dessous :
SCREEN 0
Modifie les couleurs de premier plan et d'arrière-plan du texte par défaut, ainsi que la bordure de l'écran. La couleur de premier plan doit être une expression entière comprise entre 0 et 31.
Il est utilisé pour déterminer la couleur "de premier plan" en mode texte, qui est la couleur par défaut du texte.
Seize couleurs
peuvent être sélectionnées avec les nombres entiers 0-15. Une version
clignotante de chaque couleur peut être sélectionnée en ajoutant 16 au numéro de
couleur ; par exemple, une couleur clignotante 7 est égale à 7 + 16, ou 23.
Ainsi, la plage d'entiers légaux pour le premier plan est 0-31.
La
couleur d'arrière-plan doit être une expression entière comprise entre 0 et 7 et
correspond à la couleur d'arrière-plan de chaque caractère de texte. Les
couleurs clignotantes ne sont pas autorisées.
La couleur de la bordure
est une expression entière comprise entre 0 et 15 et correspond à la couleur
utilisée lors du dessin de la bordure de l'écran. Les couleurs clignotantes ne
sont pas autorisées.
Si aucun argument n'est fourni à COLOR, la couleur
par défaut de l'arrière-plan et de la bordure est le noir (COLOR 0) et celle du
premier plan est celle décrite dans les pages de référence de l'instruction
SCREEN.
SCREEN 1
En mode 1,
l'instruction COLOR a une syntaxe unique qui inclut un argument de palette, qui
est une expression entière impaire ou paire. Cet argument détermine le jeu de
couleurs d'affichage à utiliser lors de l'affichage de numéros de couleur
particuliers.
Pour les configurations matérielles qui n'ont pas d'IBM®
Enhanced Graphics Adapter (EGA), les paramètres de couleur par défaut pour le
paramètre de palette sont équivalents à ce qui suit :
COLOR ,0 'Identique
aux trois instructions PALETTE suivantes
'1 = vert, 2 = rouge, 3 = jaune
COLOR ,1
'Identique aux trois instructions PALETTE suivantes
'1 = cyan, 2 = magenta, 3
= blanc
Avec l'EGA, les paramètres de couleur par défaut pour le paramètre palette sont équivalents à ce qui suit :
COULEUR ,0 'Identique aux trois instructions PALETTE suivantes
PALETTE 1,2'
Attribut 1 = couleur 3 (vert)
PALETTE 2,4' Attribut 2 = couleur 5 (rouge)
PALETTE 3,6' Attribut 3 = couleur 6 (marron)
COULEUR ,1 'Identique aux trois instructions PALETTE suivantes
PALETTE 1,3'
Attribut 1 = couleur 3 (cyan)
PALETTE 2,5' Attribut 2 = couleur 5 (magenta)
PALETTE 3,7' Attribut 3 = couleur 15 (blanc)
Notez qu'une
instruction COLOR remplacera les instructions PALETTE précédentes.
ÉCRAN
2 Aucun effet. Un message d'erreur "Appel de fonction illégal" apparaît si COLOR
est utilisé dans ce mode.
ÉCRAN 7 - ÉCRAN 10 Dans ces modes, aucune couleur de bordure ne peut être spécifiée. L'arrière-plan graphique est donné par le numéro de couleur d'arrière-plan, qui doit se trouver dans la plage valide de numéros de couleur appropriée au mode d'écran. Voir les pages de référence de l'instruction SCREEN pour plus de détails. L'argument de couleur de premier plan est la couleur de dessin de ligne par défaut.
Les arguments en
dehors des plages numériques valides entraînent des erreurs "Appel de fonction
non autorisé".
La couleur de premier plan peut être la même que la
couleur d'arrière-plan, ce qui rend les caractères affichés invisibles. La
couleur d'arrière-plan par défaut est le noir, ou le numéro de couleur 0, pour
toutes les configurations matérielles d'affichage et tous les modes d'écran.
Lorsque l'adaptateur graphique amélioré (EGA) est installé, l'instruction
PALETTE vous permet d'attribuer différentes couleurs d'affichage aux plages de
numéros de couleurs réelles pour les couleurs de premier plan, d'arrière-plan et
de bordure décrites ci-dessus.
Voir les pages de référence du relevé PALETTE pour plus de détails.
Pour plus d'informations, voir: CIRCLE, DRAW, LINE, PAINT, PRESET, PSET
Exemples:
La série d'exemples suivante montre les instructions COLOR et leurs effets dans les différents modes d'écran :
SCREEN 0 COLOR 1, 2, 3 'foreground=1, background=2, border=3
SCREEN 1 COLOR 1, 0 'foreground=1, even palette number COLOR 2, 1 'foreground=2, odd palette number
SCREEN 7 COLOR 3, 5 'foreground=3, background=5
SCREEN 8 COLOR 6, 7 'foreground=6, background=7
SCREEN 9 COLOR 1, 2 'foreground=1, background=2
PALETTE, PALETTE USING
Modifie une ou plusieurs des couleurs de la palette
Syntaxe:
PALETTE [attribute,color]
PALETTE USING integer-array-name (arrayindex)
Commentaires:
L'instruction PALETTE ne fonctionne que pour les systèmes équipés de l'IBM®
Enhanced Graphics Adapter (EGA). Une palette GW-BASIC contient un ensemble de
couleurs, chaque couleur étant spécifiée par un attribut. Chaque attribut est
associé à une couleur d'affichage réelle. Cette couleur détermine la couleur
visuelle réelle à l'écran et dépend du réglage de votre mode d'écran et de votre
affichage matériel physique réel.
PALETTE sans arguments définit la
palette sur un paramètre initial connu. Ce réglage est le même que le réglage
lors de la première initialisation des couleurs.
Si des arguments sont
spécifiés, la couleur sera affichée chaque fois que l'attribut est spécifié dans
une instruction qui spécifie une couleur. Tout changement de couleur à l'écran
se produit immédiatement. Notez que lorsque les instructions graphiques
utilisent des arguments de couleur, elles font en fait référence à des attributs
et non à des couleurs réelles.
PALETTE associe les attributs aux couleurs réelles.
Par exemple,
supposons que la palette actuelle se compose des couleurs 0, 1, 2 et 3.
L'instruction DRAW suivante :
DRAW "C3L100"
sélectionne l'attribut 3, et trace une ligne de 100 pixels en utilisant la couleur associée à l'attribut 3, dans ce cas, également 3.
Si l'instruction :
PALETTE 3,2
est exécuté, alors la couleur associée à l'attribut 3 est changée en couleur
2. Tous les textes ou graphiques actuellement affichés à l'écran en utilisant
l'attribut 3 sont instantanément changés en couleur 2. Tous les textes ou
graphiques affichés ultérieurement avec l'attribut 3 seront également affichés
en couleur 2. La nouvelle palette de couleurs contiendra 0, 1, 2 et 2.
Avec l'option USING, toutes les entrées de la palette peuvent être modifiées
dans une instruction PALETTE.
L'argument nom-tableau-entier est le nom d'un tableau entier, et l'index-tableau spécifie l'index du premier élément du tableau dans le nom-tableau-entier à utiliser pour définir votre palette. Chaque attribut de la palette se voit attribuer une couleur correspondante à partir de ce tableau d'entiers. Le tableau doit être dimensionné suffisamment grand pour définir toutes les entrées de la palette après arrayindex.
Par exemple, si vous affectez des couleurs aux 16 attributs et que l'indice du premier élément de tableau donné dans votre instruction PALETTE USING est 5, le tableau doit être dimensionné pour contenir au moins 20 éléments (puisque le nombre d'éléments de 5 -20, inclus, est 16):
DIM PAL%(20) . . . PALETTE USING PAL%(5)
Si l'argument de couleur dans
une entrée de tableau est -1, le mappage de l'attribut associé n'est pas
modifié. Tous les autres nombres négatifs sont des valeurs illégales pour la
couleur.
Vous pouvez utiliser l'argument color dans l'instruction COLOR
pour définir la couleur du texte par défaut. (Rappelez-vous que les arguments de
couleur dans d'autres instructions BASIC sont en fait ce qu'on appelle des
attributs dans cette discussion.)
Cet argument de couleur
spécifie la façon dont les caractères de texte apparaissent sur l'écran
d'affichage. Sous un paramètre de palette initial commun, les points colorés
avec l'attribut 0 apparaissent en noir sur l'écran d'affichage. À l'aide de
l'instruction PALETTE, vous pouvez, par exemple, modifier le mappage de
l'attribut 0 du noir au blanc.
N'oubliez pas qu'une instruction PALETTE
exécutée sans aucun paramètre affecte à tous les attributs leurs couleurs par
défaut.
Le tableau suivant répertorie les gammes d'attributs et de
couleurs pour différents types de moniteurs et modes d'écran :
Tableau 1
Couleurs d'ÉCRAN et gammes d'attributs
SCREEN Mode | Moniteur attaché | Adapteur | Plage d'attributs | Gamme de couleurs |
0 | Monochrome | MDPA | NA | NA |
Monochrome | EGA | 0-15 | 0-2 | |
Couleur | CGA | NA | 0-31a | |
Couleur/Amélioréd | EGA | 0-31a | 0-15 | |
1 | Couleur | CGA | NA | 0-3 |
Couleur/Amélioréd | EGA | 0-3 | 0-15 | |
2 | Couleur | CGA | NA | 0-1 |
Couleur/Amélioréd | EGA | 0-1 | 0-15 | |
7 | Couleur/Amélioréd | EGA | 0-15 | 0-15 |
8 | Couleur/Amélioréd | EGA | 0-15 | 0-15 |
9 | Amélioréd | EGAb | 0-3 | 0-15 |
Amélioréd | EGAc | 0-15 | 0-63 | |
10 | Monochrome | EGA | 0-3 | 0-8 |
a Les attributs 16-31 font
référence aux versions clignotantes des couleurs 0-15
b Avec 64K de mémoire
EGA
c Avec plus de 64 Ko de mémoire EGA
d Écran couleur amélioré IBM
NA
= Sans objet
CGA = adaptateur graphique couleur IBM
EGA = adaptateur
graphique amélioré IBM
MDPA = IBM Monochrome Display and Printer Adapter
Reportez-vous à la page de référence de l'instruction SCREEN pour obtenir la
liste des couleurs disponibles pour les différentes combinaisons de mode SCREEN,
de moniteur et d'adaptateur graphique.
Exemples:
PALETTE 0, 2 'Modifie tous les
points colorés avec l'attribut 0
'pour colorer 2
PALETTE 0,-1 ' Ne modifie pas la palette
PALETTE USING A%(0) 'Modifie
chaque entrée de palette.
array est initialisé à zéro lorsqu'il est d'abord
déclaré, tous les attributs sont maintenant mappé pour afficher la couleur zéro.
l'écran apparaîtra maintenant comme une seule 'Couleur. Cependant, ce sera
encore possible d'exécuter des instructions BASIC.
PALETTE Définit chaque entrée de palette à sa couleur d'affichage initiale. Couleurs initiales réelles dépend de la configuration matérielle de votre écran.