Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  Programmation  Emulateur  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Introduction
Les remarques
Les opérateurs
Les instructions conditionnelles
Les instrucions de boucles
Référence de commandes et fonctions
Les premiers pas
Introduction à la programmation
Traitement des chiffres
Programmes - analyse, mots clefs et jetons
Réviser et pratiquer GW-BASIC
L'éditeur d'écran GW-BASIC
Créer et utiliser des fichiers
Constantes, variables, expressions et opérateurs
Graphiques
Communications désynchronisées
Sous-programmes de langage d'assemblage (code machine)
Conversion des programmes BASIC en GW-BASIC
Bonjour
Application
Biochimie
Géométrie
Jeux & stratégies
Météorologie
Sport
Temps
Trigonométrie
Dessin Bitmap
Calcul du calcium corrigé
Aire d'un cercle
Aire d'une surface de prisme rectangulaire
Aire d'un triangle
Distance entre deux points
L25
Unité de mesure
Hockey
Année bissextile
ArcCos
ArcSin
DOSBox
PCE - PC Emulator
PCem
Raccourci clavier (Shortcut Keys)
Références des codes d'erreur du GWBASIC
Fonctions mathématiques
Codes de caractères ASCII
Équivalents hexadécimaux
Codes de balayage des touches
Caractères reconnus par GW-BASIC
Références des adresses de cellule mémoire du «PC IBM»
Encodage des fichiers «.BAS» du GWBASIC
Vocabulaire
Table ASCII
Table de codes ANSI et page de codes
Préface
Notes légal
Dictionnaire
Recherche

Graphiques

L'instruction SCREEN vous permet de basculer entre les modes texte et graphique et l'instruction WIDTH vous permet de définir le nombre de colonnes. Il existe trois modes graphiques différents que vous pouvez sélectionner avec l'instruction SCREEN :

Ils ne diffèrent que par le nombre et la taille des points affichés et par le nombre de couleurs autorisées. L'instruction SCREEN vous permet également (via le paramètre couleur) d'activer la couleur en mode texte ou en mode moyenne résolution (à l'aide d'un téléviseur couleur ou d'un moniteur RVB), et de sélectionner les pages actives et affichées en mode texte (via le paramètres apage et vpage). Pour un moniteur standard, le paramètre couleur n'a aucune signification.

L'instruction SCREEN doit précéder toutes les instructions d'entrées/sorties à l'écran, car elle sélectionne les attributs d'écran à utiliser par les instructions suivantes. Le système suppose SCREEN 0,0,0,0 par défaut si aucun attribut d'écran n'est spécifié. Cela sélectionne 80 colonnes en mode texte, Noir/Blanc (B/W) et une seule page d'affichage. Vous pouvez également utiliser plusieurs instructions SCREEN pour définir différents attributs d'écran pour différentes sections de votre programme.

Mode texte

En mode texte, vous pouvez afficher du texte, c'est-à-dire des lettres, des chiffres et tous les caractères spéciaux de l'ensemble de caractères GWBASIC. Vous pouvez définir les couleurs de premier plan et d'arrière-plan des caractères à l'aide de l'instruction COLOR(Text). Cette instruction vous permet également de créer des caractères clignotants, inversés, invisibles, en surbrillance et soulignés. Les caractères sont affichés sur 25 lignes horizontales numérotées de 1 à 25, de haut en bas. Chaque ligne a 40 (ou 80) positions de caractères. La commande WIDTH vous permet de sélectionner le nombre de colonnes. L'instruction LOCATE positionne le curseur sur l'écran actif. Les coordonnées de colonne et de ligne du curseur sont renvoyées par les fonctions POS(0) et CSRLIN. Les caractères sont normalement affichés, à l'aide des instructions PRINT ou PRINT USING, à la position du curseur de gauche à droite sur chaque ligne, de la ligne 1 à 24. Lorsque le curseur passe à la ligne 25, les lignes 1 à 24 défilent d'une ligne vers le haut. La ligne 25 est généralement réservée comme affichage des touches de fonctions programmables (F1, F2, F3, F4, F5, F6, F7, F8, F9, F10).

Page d'affichage multiple

Une caractéristique spéciale du mode texte est l'affichage multiple de pages. Normalement, votre système dispose d'une mémoire tampon d'écran de 16 Ko, dont seulement 2 Ko sont nécessaires pour le mode texte (ou 4 Ko pour une largeur de 80 colonnes). Le tampon est donc divisé en différentes pages, pouvant être écrites et/ou affichées individuellement. Il y a 8 pages d'affichage sur 40 colonnes de largeur et 4 pages d'affichage sur 80 colonnes.

Instructions, commandes et fonctions

Les instructions, commandes et fonctions disponibles en mode texte pour afficher du texte sont :

Instructions/commandes Fonctions
CLS
COLOR (Mode texte)
LOCATE (Mode texte)
PRINT
PRINT USING
SCREEN
WIDTH
WRITE
CSRLIN
POS
SCREEN
SPC
TAB

En mode texte, vous pouvez utiliser 16 couleurs différentes (si le matériel couleur est installé) :

Valeur Description
0 Noir
1 Bleu
2 Vert
3 Cyan
4 Rouge
5 Magenta
6 Marron
7 Blanc
8 Gris
9 Bleu clair
10 Vert clair
11 Cyan clair
12 Rouge clair
13 Magenta clair
14 Jaune
15 Blanc haute intensité

Dans un système monochrome, seules deux couleurs sont disponibles (noir et blanc), mais vous pouvez souligner des caractères, faire clignoter des caractères ou afficher des caractères à haute intensité.

Mode graphique

En mode graphique, vous pouvez dessiner des images complexes et afficher du texte. Pour afficher du texte en mode graphique, vous pouvez utiliser toutes les instructions, commandes et fonctions disponibles en mode texte, à l'exception des instructions COLOR (texte) et LOCATE (texte). En mode graphique, vous devez utiliser les instructions COLOR (graphiques) et LOCATE (graphiques) à la place. Notez également que les instructions CLS et WIDTH ont des fonctionnalités différentes en mode graphique. En mode graphique, tous les points de l'écran sont adressables en moyenne, haute ou super résolution. Un point sur l'écran est appelé un «pixel» (une contraction de «l'élément d'image»), et une ligne de pixels est appelée une «ligne de balayage». Pour afficher des images que vous avez générées en mode graphique, vous devez exécuter la commande GRAPHICS du DOS avant d'exécuter le programme GWBASIC dessinant les images.

Instructions, commandes et fonctions

Les instructions, fonctions et commandes que vous pouvez utiliser pour afficher des images sont :

Instruction/Commande Fonctions
CIRCLE
COLOR (Mode résolution moyenne)
COLOR (Mode haute résolution)
COLOR (Mode super-résolution)
DRAW
GET (Mode graphique)
LOCATE (Mode graphique)
PAINT
PRESET
PSET
PUT (Mode graphique)
SCREEN
VIEW
WINDOW
PMAP
POINT

Mode de résolution moyenne

Dans ce mode, il y a 320 pixels sur l'axe horizontal et 200 pixels sur l'axe vertical. Ceux-ci sont numérotés de gauche à droite et de haut en bas; ainsi le pixel du coin supérieur gauche est (0,0) et le pixel du coin inférieur droit est (319, 199). Vous pouvez afficher quatre couleurs à la fois si un moniteur couleur est utilisé, sinon les quatre couleurs apparaîtront sous forme de nuances de gris.

Dessiner des images

Lorsque vous dessinez des images à l'écran à l'aide des instructions graphiques (PSET, PRESET, LINE, CIRCLE, PAINT ou DRAW), vous pouvez spécifier un numéro de couleur de 0, 1, 2 ou 3. Ceci sélectionne la couleur de la palette actuelle telle que définie par l'instruction COLOR. Si vous ne spécifiez pas de numéro de couleur, la valeur par défaut est le premier plan graphique spécifié par l'instruction COLOR, ou 3 (si aucun premier plan graphique n'est indiqué).

L'instruction COLOR (moyenne résolution) vous permet de spécifier à la fois la couleur pour le numéro de couleur 0 et la palette pour les trois numéros de couleur restants (1, 2 et 3).

Palette Couleur 1 Couleur 2 Couleur 3
0 Vert Rouge Jaune
1 Cyan Magenta Blanc

Si la couleur est désactivée l'utilisation de la mémoire est identique : les modes ne diffèrent que par le fait que les deux bits d'un pixel sont interprétés différemment par le matériel : la résolution moyenne Noir/Blanc affiche 4 nuances de gris.

Affichage des caractères

Lorsque vous affichez des caractères en mode résolution moyenne, la taille des caractères est la même qu'en mode texte lorsque vous spécifiez une largeur de 40 colonnes. La couleur de premier plan du caractère est définie par le paramètre cf dans l'instruction COLOR (prenant par défaut la couleur numéro 3). L'arrière-plan du caractère est défini par le paramètre cb dans l'instruction COLOR (prenant par défaut le numéro de couleur 0, c'est-à-dire le noir). Si la couleur est désactivée, le premier plan du caractère sera 1 (blanc) et l'arrière-plan du caractère 0 (noir).

Mode haute résolution

Dans ce mode, il y a 640 pixels sur l'axe horizontal et 200 pixels sur l'axe vertical. Ceux-ci sont numérotés de gauche à droite et de haut en bas; ainsi le pixel du coin supérieur gauche est (0,0) et le pixel du coin inférieur droit est (639, 199). Il n'y a que deux couleurs: noir (numéro de couleur 0) et blanc (numéro de couleur 1).

Dessiner des images

Lorsque vous dessinez des images à l'aide des instructions graphiques, vous pouvez toujours spécifier un numéro de couleur 0, 1, 2 ou 3. Une couleur de 0 indique le noir et une couleur de 1 blanc. Une couleur de 2 est traitée comme 0 et 3 est traitée comme 1. Si vous ne spécifiez pas de numéro de couleur, la valeur par défaut est le premier plan graphique spécifié par l'instruction COLOR, ou 1 (si aucun premier plan graphique n'est indiqué). L'instruction COLOR vous permet de spécifier la couleur de premier plan des graphiques.

Affichage des caractères

La taille des caractères est la même qu'en mode texte 80 colonnes. La couleur de premier plan du caractère est 1 (blanc) et la couleur d'arrière-plan est 0 (noir).

Mode super résolution (AT&T seulement)

Dans ce mode, il y a 640 pixels sur l'axe horizontal et 400 pixels sur l'axe vertical. Ceux-ci sont numérotés de gauche à droite et de haut en bas; ainsi le pixel du coin supérieur gauche est (0,0) et le pixel du coin inférieur droit est (639,399). Il n'y a que deux couleurs : noir (numéro de couleur 0) et blanc (numéro de couleur 1).

Dessiner des images

Lorsque vous dessinez des images à l'aide des instructions graphiques, vous pouvez toujours spécifier un numéro de couleur de 0, 1, 2 ou 3. Un numéro de couleur de 0 indique le noir et un numéro de couleur de 1 indique le blanc. Un numéro de couleur de 2 est traité comme 0 et un numéro de couleur de 3 est traité comme 1. Si vous ne spécifiez pas de numéro de couleur, la valeur par défaut est le premier plan graphique spécifié par l'instruction COLOR, ou 1 (si aucun premier plan graphique n'est indiqué). L'instruction COLOR (Super résolution) vous permet de spécifier la couleur de premier plan des graphiques. L'instruction COLOR vous permet également de spécifier une vidéo inverse, lorsque vous affichez des caractères.

Affichage des caractères

La taille des caractères est la même qu'en mode texte 80 colonnes. La couleur de premier plan du caractère est 1 (blanc) et l'arrière-plan du caractère 0 (noir), sauf si vous spécifiez vidéo inverse par l'instruction COLOR.

Coordonnées de l'écran

Les images graphiques sont positionnées sur l'écran en fonction des coordonnées de l'écran. Ces coordonnées comprennent deux paramètres généralement appelés x et y, où x définit la position horizontale de l'écran et y définit la position verticale de l'écran. Les coordonnées d'écran peuvent être de deux types :

Alors que les coordonnées absolues font référence à la position actuel d'un pixel sur l'écran, les coordonnées relatives indiquent la position d'un pixel par rapport aux coordonnées du dernier pixel référencé. Les coordonnées relatives x et y sont donc des valeurs de déplacement à partir du dernier pixel référencé (appelé point courant). L'exemple suivant illustre l'utilisation des deux types de coordonnées :

  1. 10 SCREEN 1
  2. 20 PSET (100,50)      'coordonnées absolues
  3. 30 PSET STEP (10,-5)  'coordonnées relatives

Cet exemple de programme illumine deux pixels à l'écran : le premier aux coordonnées (100,50) et le second aux coordonnées réelles (110,45.)

Instruction VIEW

L'instruction VIEW permet la définition de sous-ensembles de la surface de visualisation. Celles-ci sont appelées fenêtres. Sur ceux-ci, le contenu d'une fenêtre est cartographié. Initialement RUN ou VIEW, sans paramètre, définissez tout l'écran comme une fenêtre.

Instruction WINDOW

L'instruction WINDOW vous permet de dessiner des lignes, des graphiques ou des objets dans l'espace non limité par les limites physiques de l'écran. Cela se fait en utilisant des coordonnées définies par le programmeur appelées coordonnées universelles. Une coordonnée universelle est une paire de nombres à virgule flottante simple précision valide. Le GWBASIC convertit ensuite les paires de coordonnées mondiales en paires de coordonnées physiques appropriées pour un affichage ultérieur dans l'espace d'écran. Pour effectuer cette transformation de l'espace monde à l'espace physique de la surface de visualisation (écran), le GWBASIC doit savoir quelle partie de l'espace de coordonnées universelles illimité (virgule flottante) contient les informations que vous souhaitez afficher. Cette région rectangulaire dans l'espace de coordonnées universelle est appelée une WINDOW.

Afficher les points

La fonction graphique la plus élémentaire est celle d'éclairer la position d'un seul point (ou «pixel») dans une couleur spécifiée. Ceci est réalisé en utilisant les instructions PSET et PRESET. La fonction POINT vous permet de connaître le numéro de couleur d'un pixel spécifié.

Dessin et coloriage de lignes, rectangles, objets, cercles, arcs, ellipses

L'instruction LINE permet le dessin de lignes ou de rectangles. L'instruction DRAW, régie par des commandes de mouvement telles que haut, bas, gauche et droite, vous permet de dessiner n'importe quel objet. Les cercles, les arcs et les ellipses peuvent être dessinés à l'aide de l'instruction CIRCLE, et l'instruction PAINT permet à n'importe quel objet d'être rempli de couleur(s).

Découpage de ligne

Les instructions graphiques CIRCLE, LINE, PAINT, POINT, PSET, PRESET et WINDOW utilisent un découpage de ligne. Cela signifie simplement que les lignes traversant l'écran ou la fenêtre sont coupées aux limites de la zone de visualisation. Seuls les points tracés dans l'écran ou la fenêtre sont visibles.



PARTAGER CETTE PAGE SUR
Dernière mise à jour : Samedi, le 9 septembre 2017