SCREEN |
Écran |
---|---|
Turbo Basic |
Syntaxe
SCREEN [mode][,[couleur][,[pagea][,pagev]]] |
Paramètres
Nom | Description | |
---|---|---|
mode | Ce paramètre permet d'indiquer le mode d'affichage : | |
Valeur | Description | |
0 | Cette valeur permet d'indiquer un mode d'affichage d'écran de texte | |
1 | Cette valeur permet d'indiquer un mode d'affichage d'écran de graphique de 320x200 en 4 couleurs | |
2 | Cette valeur permet d'indiquer un mode d'affichage d'écran de graphique de 640x200 en 2 couleurs | |
7 | Cette valeur permet d'indiquer un mode d'affichage d'écran de graphique de 320x200 en 16 couleurs | |
8 | Cette valeur permet d'indiquer un mode d'affichage d'écran de graphique de 640x200 en 16 couleurs | |
9 | Cette valeur permet d'indiquer un mode d'affichage d'écran de graphique de 640x200 en 4 ou 16 couleurs en fonction d'une mémoire de 64 Ko ou plus disponible sur la carte vidéo | |
couleur | Ce paramètre permet d'indiquer un mode couleur (0) ou monochrome (1) | |
pagea | Ce paramètre permet d'indiquer la page d'écran où est tracé le texte et le graphiques | |
pagev | Ce paramètre permet d'indiquer la page d'écran actuellement afficher pour l'utilisateur |
Description
Cette commande permet de passer au mode d'affichage spécifié.
Exemples
Voici un exemple montrant comment passer en mode 320x200 en 4 couleurs avec un petit cercle blanc :
on obtiendra le résultat suivant :
Voici un exemple montrant comment utiliser le mode d'écran texte 80x43 (Interruption 10h, Fonction 11h, Sous-Fonction 12h - Active/charge une police 8x8, Assembleur 80x86 - Interruption 10h: Fonction 12h, Sous-Fonction 30h - Fixe le balayage, RAM de l'IBM PC), même si le Turbo Basic ne le supporte pas :
- SCREEN 0
- WIDTH 80
-
- SUB Mode43
- REG 1,&H0003
- CALL INTERRUPT &H10
- REG 1,&H1201
- REG 2,&H0030
- CALL INTERRUPT &H10
- REG 1,&H1112
- REG 2,0
- CALL INTERRUPT &H10
- 'Fixe le nombre de ligne a 43 dans la RAM
- DEF SEG=&H0000
- POKE &H0484,43
- END SUB
-
- SUB LOCATE43(Y%,X%)
- DEF SEG=&H0000
- POKE &H0450,X%-1
- POKE &H0451,Y%-1
- END SUB
-
- SUB PRINT43(S$)
- LOCAL I%,C%,X%,Y%
- DEF SEG=&H0000
- X% = PEEK(&H0450)
- Y% = PEEK(&H0451)
- DEF SEG=&HB800
- FOR I%=1 TO LEN(S$)
- C% = ASC(MID$(S$,I%,1))
- POKE (I%+X%-1+(Y%*80))*2,C%
- NEXT I%
- END SUB
-
- CALL Mode43
-
- DEF SEG=&HB800
- POKE 0,65
- POKE 80*43*2,66
- FOR I% = 1 TO 42
- CALL LOCATE43(I%,1)
- CALL PRINT43("Ligne " + Str$(I%))
- NEXT I%
- CALL LOCATE43(43,1)
- CALL PRINT43("Presse une touche pour quitter...")
- ' Attente d'un caractere du clavier
- REG 1,&H0000
- CALL INTERRUPT &H16
on obtiendra le résultat suivant :
Références
INFOGUIDE - Turbo Basic, Editions P.S.I., Bénédicte Hudault, 1988, ISBN: 2-86595-531-1, page 57, 97
Dernière mise à jour : Mardi, le 28 juillet 2015