Section courante

A propos

Section administrative du site

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 :

  1. SCREEN 1
  2. CIRCLE (80,80),40
  3. WHILE INKEY$="":WEND

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 :

  1. SCREEN 0
  2. WIDTH 80
  3.  
  4. SUB Mode43
  5.    REG 1,&H0003
  6.    CALL INTERRUPT &H10
  7.    REG 1,&H1201
  8.    REG 2,&H0030
  9.    CALL INTERRUPT &H10
  10.    REG 1,&H1112
  11.    REG 2,0
  12.    CALL INTERRUPT &H10
  13.     'Fixe le nombre de ligne a 43 dans la RAM
  14.    DEF SEG=&H0000
  15.    POKE &H0484,43
  16. END SUB
  17.  
  18. SUB LOCATE43(Y%,X%)
  19.    DEF SEG=&H0000
  20.    POKE &H0450,X%-1
  21.    POKE &H0451,Y%-1
  22. END SUB
  23.  
  24. SUB PRINT43(S$)
  25.  LOCAL I%,C%,X%,Y%
  26.  DEF SEG=&H0000
  27.  X% = PEEK(&H0450)
  28.  Y% = PEEK(&H0451)
  29.  DEF SEG=&HB800
  30.  FOR I%=1 TO LEN(S$)
  31.    C% = ASC(MID$(S$,I%,1))
  32.    POKE (I%+X%-1+(Y%*80))*2,C%
  33.  NEXT I%
  34. END SUB
  35.  
  36. CALL Mode43
  37.  
  38. DEF SEG=&HB800
  39. POKE 0,65
  40. POKE 80*43*2,66
  41. FOR I% = 1 TO 42
  42.    CALL LOCATE43(I%,1)
  43.    CALL PRINT43("Ligne " + Str$(I%))
  44. NEXT I%
  45. CALL LOCATE43(43,1)
  46. CALL PRINT43("Presse une touche pour quitter...")
  47. ' Attente d'un caractere du clavier
  48. REG 1,&H0000
  49. 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