SCREEN, COLOR
GW-Basic, utilisé par PC-Basic
Exemple de programmation

PC-BASIC

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.

 

 

 

 

 

 

 

Recherche personnalisée