	SUBROUTINE VTEX
C
C	Fonction: Test des modules de la VTLIB
C
	LOGICAL*1 LREP
	BYTE REP(80)
	CALL VTERAS(2)
	CALL VTMCUR(10,1)
	TYPE *,'Ce programme illustre l''utilisation de chaque fonction'
	TYPE *,'		de la bibliotheque VTLIB'
	CALL VTMCUR(20,1)
	TYPE *,'Au prealable, vous devez avoir execute la commande'
	TYPE *,'		SET TT TAB'
	CALL ASKL('On continue',LREP)
1	FORMAT(80A1)
	IF (LREP.EQ..FALSE.) RETURN
C----- Menu de la demonstration ----------------------------------------------
9800	CALL VTMCUR(1,1)
	CALL VTERAS(2)
	CALL VTTEXT(0,1,1,1,'Choisissez parmi les EXEMPLES suivants')
	CALL VTTEXT(0,0,3,10,' 1: VTSTBM	15: VTDCUR ')
	CALL VTTEXT(0,0,4,10,' 2: VTERAS	16: VTINDX ')
	CALL VTTEXT(0,0,5,10,' 3: VTMCUR	17: VTSCS  ')
	CALL VTTEXT(0,0,6,10,' 4: VTTEXT	18: VTKPAD ')
	CALL VTTEXT(0,0,7,10,' 5: VTLED 	19: VTTAB  ')
	CALL VTTEXT(0,0,8,10,' 6: VTGCUR	20: VTLFNL ')
	CALL VTTEXT(0,0,9,10,' 7: VTDBLW	21: VTCURK ')
	CALL VTTEXT(0,0,10,10,' 8: VTCOL 	22: VTORGN ')
	CALL VTTEXT(0,0,11,10,' 9: VTSCRL	23: VTWRAP ')
	CALL VTTEXT(0,0,12,10,'10: VTSCRN	24: VTARPT ')
	CALL VTTEXT(0,0,13,10,'11: VTELIN	25: VTDSR  ')
	CALL VTTEXT(0,0,14,10,'12: VTANSI	26: VTWAY  ')
	CALL VTTEXT(0,0,15,10,'13: VTCGC 	27: VTRIS  ')
	CALL VTTEXT(0,0,16,10,'14: VTDBLH	28: VTSGR  ')
	CALL VTTEXT(0,0,18,1,'100 + xx: EXPLICATION du role de la fonction')
	CALL VTTEXT(0,0,19,1,'      99: SORTIE de la demonstration')
	CALL VTMCUR(19,10)
	CALL ASKI('Votre choix',IREP,1,128,1)
	GO TO (100,200,300,400,500,600,700,800,900,1000,1100,1200,1300
	1,1400,1500,1600,1700,1800,1900,2000,2100,2200,2300,2400,2500
	2,2600,2700,2800,9700,9700,9700,9700,9700,9700,9700,9700,9700
	3,9700,9700,9700,9700,9700,9700,9700,9700,9700,9700,9700,9700
	3,9700,9700,9700,9700,9700,9700,9700,9700,9700,9700,9700,9700
	3,9700,9700,9700,9700,9700,9700,9700,9700,9700,9700,9700,9700
	3,9700,9700,9700,9700,9700,9700,9700,9700,9700,9700,9700,9700
	3,9700,9700,9700,9700,9700,9700,9700,9700,9700,9700,9700,9700
	4,9700,9900,9700,10100,10200,10300,10400,10500,10600,10700
	5,10800,10900,11000,11100,11200,11300,11400,11500,11600,11700
	6,11800,11900,12000,12100,12200,12300,12400,12500,12600,12700
	7,12800) IREP
9700	CALL VTTEXT(1,0,21,1,'Reponse incorrecte. Recommencez SVP.')
	CALL ISLEEP(0,0,1,0)
	GO TO 9800
C----- Test de la fonction VTSTBM (Definition de la zone de scrolling) -------
100	CALL VTERAS(2)
	CALL VTSTBM(10,12)
		DO 10 I = 1,30
		TYPE *,'VTSTBM-I-Scrolling entre les lignes 10 et 12'
10		CONTINUE
	CALL ISLEEP(0,0,3,0)
	CALL VTSTBM(1,24)
		DO 20 I = 1,30
		TYPE *,'VTSTBM-I-Scrolling sur la totalite de l''ecran'
20		CONTINUE
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTSTBM ------------------------------------
10100	CALL VTMCUR(21,1)
	TYPE *,'VTSTBM: Set Top and Bottom Margins'
	TYPE *,'Permet de definir la zone de scrolling'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTERAS (Effacements de l'ecran) ------------------
200		DO 30 I = 1,3
		CALL VTERAS(2)
		TYPE *,'L''ecran va etre rempli de "E", puis'
		TYPE *,'Le curseur va etre place au milieu de l''ecran'
		TYPE *,'Puis on va appeler VTERAS(',I-1,')'
		CALL ISLEEP(0,0,1,0)
		TYPE 6,"33
6	FORMAT(1H+,A1,'#8')
		CALL ISLEEP(0,0,2,0)
		CALL VTMCUR(12,40)
		CALL VTERAS(I-1)
		CALL ISLEEP(0,0,3,0)
30		CONTINUE
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTERAS ------------------------------------
10200	CALL VTMCUR(21,1)
	TYPE *,'VERAS: ERASe in display'
	TYPE *,'Argument 0: du curseur jusqu''a la fin de l''ecran'
	TYPE *,'Argument 1: du debut de l''ecran jusqu''au curseur'
	TYPE *,'Argument 2: la totalite de l''ecran'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTMCUR (Mouvements du curseur) -------------------
300	CALL VTERAS(2)
	CALL VTMCUR(10,10)
	TYPE *,'VTMCUR-I-Curseur deplace en ligne 10, colonne 10'
	CALL VTMCUR(10,10)
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTMCUR ------------------------------------
10300	CALL VTMCUR(21,1)
	TYPE *,'VTMCUR: Move CURsor'
	TYPE *,'Positionne le curseur a la ligne et a la colonne'
	TYPE *,'specifiees par les arguments'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTTEXT (Ecriture de texte) -----------------------
400	CALL VTERAS(2)
	CALL VTTEXT(0,0,1,1,'Toutes les possibilites de VTTEXT defilent sous
	1 vos yeux')
		DO 40 I = 1,3
			DO 50 J = 1,16
			CALL VTELIN(2,20)
			CALL VTTEXT(J-1,I-1,10,4,'Salut')
			CALL VTMCUR(20,1)
			CALL ISLEEP(0,0,0,35)
50			CONTINUE
		CALL VTERAS(2)
		CALL VTMCUR(20,1)
40		CONTINUE
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTTEXT ------------------------------------
10400	CALL VTMCUR(21,1)
	TYPE *,'VTTEXT: Permet d''ecrire un texte avec une taille'
	TYPE *,'des attributs et une position specifies par les arguments'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C----- Test de la fonction VTLED (Controle des LED) --------------------------
500	CALL VTERAS(2)
		DO 60 I = 1,4
		CALL VTLED(I)
		TYPE *,'VTLED-I-Allumage de la LED numero',I
		CALL ISLEEP(0,0,2,0)
60		CONTINUE
	CALL VTLED(0)
	TYPE *,'VTLED-I-Extinction des LED'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTLED -------------------------------------
10500	CALL VTMCUR(21,1)
	TYPE *,'VTLED: Light Emitting Diodes'
	TYPE *,'Permet de controler l''allumage ou l''extinction'
	TYPE *,'des LED du clavier'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTGCUR (Position courante du curseur) ------------
600	CALL VTERAS(2)
	CALL VTMCUR(10,1)
	CALL VTGCUR(ILIGNE,ICOLON)
	CALL VTMCUR(10,1)
	TYPE *,'VTGCUR-I-Le curseur etait en ligne',ILIGNE,'colonne',ICOLON
	CALL VTMCUR(10,1)
	CALL ISLEEP(0,0,2,0)
	CALL VTMCUR(20,30)
	CALL VTGCUR(ILIGNE,ICOLON)
	CALL VTMCUR(19,1)
	TYPE *,'VTGCUR-I-Le curseur etait en ligne',ILIGNE,'colonne',ICOLON
	CALL VTMCUR(20,30)
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTGCUR ------------------------------------
10600	CALL VTMCUR(21,1)
	TYPE *,'VTGCUR: Get CURsor position'
	TYPE *,'Permet de recuperer les coordonnees courantes du curseur'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTDBLW (Commutation simple <---> double largeur) -
700	CALL VTERAS(2)
	TYPE *,'La ligne 10 va etre ecrite en double, puis en simple largeur'
	CALL VTDBLW(10,1)
	CALL VTTEXT(0,0,10,1,'VTDBLW(10,1) ---> Double largeur')
	CALL ISLEEP(0,0,3,0)
	CALL VTDBLW(10,0)
	CALL VTTEXT(0,0,10,1,'VTDBLW(10,0) ---> Simple largeur')
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTDBLW ------------------------------------
10700	CALL VTMCUR(21,1)
	TYPE *,'VTDBLW: DouBLe Width'
	TYPE *,'Argument 0: place la ligne courante en simple largeur'
	TYPE *,'Argument 1: place la ligne courante en double largeur'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTCOL (Commutation 80 <---> 132 colonnes) --------
800	CALL VTCOL(1)
	TYPE 6,"33
	CALL ISLEEP(0,0,3,0)
	CALL VTCOL(0)
	TYPE 6,"33
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTCOL -------------------------------------
10800	CALL VTMCUR(21,1)
	TYPE *,'VTCOL: COLumns'
	TYPE *,'Argument 0: 80 colonnes'
	TYPE *,'Argument 2: 132 colonnes'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test fonction VTSCRL (Commutation defilement sauts <---> continu) ----
900	CALL VTERAS(2)
	CALL VTSCRL(1)
		DO 70 I = 1,50
		TYPE *,'VTSCRL-I-Defilement continu'
70		CONTINUE
	CALL ISLEEP(0,0,3,0)
	CALL VTERAS(2)
	CALL VTSCRL(0)
		DO 80 I = 1,50
		TYPE *,'VTSCRL-I-Defilement par sauts'
80		CONTINUE
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTSCRL ------------------------------------
10900	CALL VTMCUR(21,1)
	TYPE *,'VTSCRL: SCRoLling mode'
	TYPE *,'Argument 0: defilement continu'
	TYPE *,'Argument 1: defilement par sauts'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTSCRN (Commutation fond sombre <---> clair) -----
1000	CALL VTERAS(2)
	CALL VTSCRN(0)
	CALL VTTEXT(1,1,12,1,'Le fond de l''air est frais')
	CALL ISLEEP(0,0,3,0)
	CALL VTSCRN(1)
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTSCRN ------------------------------------
11000	CALL VTMCUR(21,1)
	TYPE *,'VTSCRN: SCReeN color'
	TYPE *,'Argument 0: fond sombre'
	TYPE *,'Argument 1: fond clair'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTELIN (Effacements de ligne) --------------------
1100		DO 90 I = 1,3
		CALL VTERAS(2)
		TYPE *,'L''ecran va etre rempli de "E", puis'
		TYPE *,'Le curseur va etre place au milieu de l''ecran'
		TYPE *,'Puis on va appeler VTELIN(',I-1,')'
		CALL ISLEEP(0,0,3,0)
		TYPE 6,"33
		CALL VTMCUR(12,40)
		CALL ISLEEP(0,0,3,0)
		CALL VTELIN(I-1,10)
		CALL ISLEEP(0,0,3,0)
90		CONTINUE
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTELIN ------------------------------------
11100	CALL VTMCUR(21,1)
	TYPE *,'VTELIN: Erase in LINe'
	TYPE *,'Argument 0: du debut de la ligne jusqu''au curseur'
	TYPE *,'Argument 1: du curseur jusqu''a la fin de la ligne'
	TYPE *,'Argument 2: la totalite de la ligne'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTANSI (Commutation ANSI <---> VT52) -------------
1200	CALL VTERAS(2)
	CALL VTANSI(1)
	CALL VTMCUR(10,1)
	TYPE *,'VTANSI-I-Terminal en mode VT52 (Il faut utiliser K52)'
	CALL ISLEEP(0,0,3,0)
	CALL VTANSI(0)
	CALL VTMCUR(10,1)
	TYPE *,'VTANSI-I-Terminal en mode ANSI (Il faut utiliser KED)'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTANSI ------------------------------------
11200	CALL VTMCUR(21,1)
	TYPE *,'VTANSI: ANSI escape sequences mode'
	TYPE *,'Argument 0: mode ANSI'
	TYPE *,'Argument 1: mode VT52'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTCGC (Sauvegarder/Restaurer Curseur, Mode
C		d'ecriture et jeu de caracteres) -----------------------------
1300	CALL VTERAS(2)
	CALL VTMCUR(1,1)
	TYPE *,'Le curseur va etre place en 12,40, caracteres semi-graphiques,
	1 video inverse'
	CALL VTMCUR(12,40)
	CALL VTSCS(1)
	CALL VTTEXT(1,0,12,40,'mnopqr')
	CALL VTSGR(1)
	CALL VTCGC(1)
	CALL VTSCS(0)
	CALL VTMCUR(20,1)
	TYPE *,'VTCGC-I-Sauvegarde'
	CALL VTMCUR(3,1)
	CALL VTSGR(0)
	CALL ISLEEP(0,0,3,0)
	CALL VTMCUR(5,1)
	TYPE *,'Le curseur va etre place en 16,1, caracteres alphanumeriques,
	1 video normale'
	CALL VTMCUR(16,1)
	CALL VTMCUR(22,1)
	TYPE *,'VTCGC-I-Restitution'
	CALL VTCGC(0)
	CALL OUTSTR('mnopqr')
	CALL VTSCS(0)
	CALL VTSGR(0)
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTCGC -------------------------------------
11300	CALL VTMCUR(21,1)
	TYPE *,'VTCGC: Cursor position, Graphic rendition, Character set'
	TYPE *,'Argument 0: restitution de l''etat anterieur'
	TYPE *,'Argument 1: sauvegarde de l''etat courant'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTDBLH (Commutation Simple <---> Double hauteur) -
1400	CALL VTERAS(2)
	TYPE *,'La ligne 10 va etre ecrite en double, puis en simple hauteur'
	CALL VTDBLH(10,1)
	CALL VTTEXT(0,2,10,1,'VTDBLW(10,1) ---> Double hauteur')
	CALL ISLEEP(0,0,3,0)
	CALL VTDBLH(10,0)
	CALL VTTEXT(0,0,10,1,'VTDBLW(10,0) ---> Simple hauteur')
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTDBLH ------------------------------------
11400	CALL VTMCUR(21,1)
	TYPE *,'VTDBLH: DouBLe Heigth'
	TYPE *,'Argument 0: place la ligne courante en simple hauteur'
	TYPE *,'Argument 1: place la ligne courante en double hauteur'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTDCUR (deplacements du curseur) -----------------
1500	CALL VTERAS(2)
		TYPE *,'VTDCUR-I-Deplacement du curseur de 5 positions'
		DO 101 I = 1,4
		CALL VTMCUR(12,40)
		CALL OUTSTR('x')
		CALL VTMCUR(12,40)
		CALL VTDCUR(5,I-1)
		CALL OUTSTR('y')
		IF (I.EQ.1) CALL VTTEXT(1,0,20,1,'Vers le haut   ')
		IF (I.EQ.2) CALL VTTEXT(1,0,20,1,'Vers le bas    ')
		IF (I.EQ.3) CALL VTTEXT(1,0,20,1,'Vers la droite ')
		IF (I.EQ.4) CALL VTTEXT(1,0,20,1,'Vers la gauche ')
		CALL ISLEEP(0,0,2,0)
101		CONTINUE
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTDCUR ------------------------------------
11500	CALL VTMCUR(21,1)
	TYPE *,'VTDCUR: Displacement of CURsor'
	TYPE *,'Deplace le curseur du nombre de positions et dans le sens'
	TYPE *,'specifies par les arguments a partir de la position courante'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTINDX (Commutation index normal <---> inverse) --
1600	CALL VTERAS(2)
	TYPE 6,"33
	CALL VTMCUR(1,1)
		DO 110 I = 1,30
			DO 115 K = 1,5000
115			CONTINUE
		CALL VTINDX(1)
110		CONTINUE
	CALL ISLEEP(0,0,3,0)
	TYPE 6,"33
		DO 120 I = 1,30
			DO 125 K =1,5000
125			CONTINUE
		CALL VTINDX(0)
120		CONTINUE
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTINDX ------------------------------------
11600	CALL VTMCUR(21,1)
	TYPE *,'VTINDX: INDeX'
	TYPE *,'Argument 0: defilement vers le bas'
	TYPE *,'Argument 1: defilement vers le haut'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTSCS (Commutation caracteres alpha <---> graph) -
1700	CALL VTERAS(2)
	CALL VTTEXT(0,0,5,1,'VTSCS-I-Caracteres semi-graphiques')
	CALL VTSCS(1)
	CALL VTTEXT(0,0,10,1,'lqqqqqwqqqqqk')
	CALL VTTEXT(0,0,11,1,'x     x     x')
	CALL VTTEXT(0,0,12,1,'tqqqqqnqqqqqu')
	CALL VTTEXT(0,0,13,1,'x     x     x')
	CALL VTTEXT(0,0,14,1,'mqqqqqvqqqqqj')
	CALL VTSCS(0)
	CALL ISLEEP(0,0,2,0)
	CALL VTTEXT(0,0,5,40,'VTSCS-I-Caracteres alphanumeriques')
	CALL VTTEXT(0,0,10,40,'lqqqqqwqqqqqk')
	CALL VTTEXT(0,0,11,40,'x     x     x')
	CALL VTTEXT(0,0,12,40,'tqqqqqnqqqqqu')
	CALL VTTEXT(0,0,13,40,'x     x     x')
	CALL VTTEXT(0,0,14,40,'mqqqqqvqqqqqj')
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTSCS -------------------------------------
11700	CALL VTMCUR(21,1)
	TYPE *,'VTDSCS: Select Character Set'
	TYPE *,'Argument 0: caracteres alphanumeriques'
	TYPE *,'Argument 1: caracteres semi-graphiques'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test fonction VTKPAD (Commutation clavier numerique <---> special) ---
1800	CALL VTERAS(2)
	CALL VTKPAD(1)
	TYPE *,'VTKPAD-I-Utilisez le clavier auxiliaire (mode special)'
	TYPE *,'	puis tapez <RETURN>'
	ACCEPT 1,REP
	CALL VTKPAD(0)
	TYPE *,'VTKPAD-I-Utilisez le clavier auxiliaire (mode numerique)'
	TYPE *,'	puis tapez <RETURN>'
	ACCEPT 1,REP
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTKPAD ------------------------------------
11800	CALL VTMCUR(21,1)
	TYPE *,'VTKPAD: auxilliary KeyPAD response mode'
	TYPE *,'Argument 0: mode numerique'
	TYPE *,'Argument 1: mode special'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTTAB (Controle des tabulateurs) -----------------
1900	CALL VTERAS(2)
	CALL VTMCUR(1,1)
	TYPE *,'VTAB-I-Tabulateurs en position normale'
	TYPE *,'Tapez 3 fois <TAB> puis <RETURN>'
	ACCEPT 1,REP
	CALL VTTAB(1)
	CALL VTMCUR(3,1)
	TYPE *,'VTTAB-I-Plus de tabulateurs'
	TYPE *,'Tapez 3 fois <TAB> puis <RETURN>'
	ACCEPT 1,REP
		DO 130 I = 1,3
		TYPE 2
2	FORMAT(1H$,'               ')
		CALL VTTAB(2)
130		CONTINUE
	CALL VTMCUR(5,1)
	TYPE *,'VTTAB-I-Tabulateurs tous les 15 caracteres'
	TYPE *,'Tapez 3 fois <TAB> puis <RETURN>'
	ACCEPT 1,REP
	TYPE 2
	CALL VTTAB(0)
	CALL VTMCUR(7,1)
	TYPE *,'VTTAB-I-Suppression du premier tabulateur'
	TYPE *,'Tapez 3 fois <TAB> puis <RETURN>'
	ACCEPT 1,REP
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTTAB -------------------------------------
11900	CALL VTMCUR(21,1)
	TYPE *,'VTTAB: TABulators'
	TYPE *,'Permet de controler l''emplacement des tabulateurs'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTLFNL (Commutation LF <---> NL) -----------------
2000	CALL VTERAS(2)
	CALL VTLFNL(1)
	TYPE *,'VTLFNL-I-<CR><LF> genere pour chaque <LF> recu'
	TYPE 3,"12,"12,"12,"12,"12,"12,"12
3	FORMAT(1H ,7('Salut',A1))
	CALL ISLEEP(0,0,3,0)
	CALL VTLFNL(0)
	TYPE *,'VTLFNL-I-Seul <LF> est genere pour chaque <LF> recu'
	TYPE 3,"12,"12,"12,"12,"12,"12,"12
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTLFNL ------------------------------------
12000	CALL VTMCUR(21,1)
	TYPE *,'VTLFNL: Line Feed / New Line'
	TYPE *,'Argument 0: seul <LF> est genere pour chaque <LF> recu'
	TYPE *,'Argument 1: <CR><LF> sont generes pour chaque <LF> recu'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTCURK (Commutation touches flechees curseur <--->
C		application) -------------------------------------------------
2100	CALL VTERAS(2)
	CALL VTCURK(1)
	TYPE *,'VTCURK-I-Utilisez les touches flechees (mode special)'
	TYPE *,'	puis tapez <RETURN>'
	ACCEPT 1,REP
	CALL VTCURK(0)
	TYPE *,'VTCURK-I-Utilisez les touches flechees (mode normal)'
	TYPE *,'	puis tapez <RETURN>'
	ACCEPT 1,REP
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTCURK ------------------------------------
12100	CALL VTMCUR(21,1)
	TYPE *,'VTCURK: CURsor Keys mode'
	TYPE *,'Argument 0: mode normal (curseur)'
	TYPE *,'Argument 1: mode special (application)'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test fonction VTORGN (Commutation adressage absolu <---> relatif) ----
2200	CALL VTERAS(2)
	CALL VTMCUR(20,1)
	TYPE *,'La zone de scrolling est entre les lignes 10 et 12'
	CALL VTSTBM(10,12)
	CALL VTORGN(1)
	CALL VTTEXT(0,0,1,1,'Adressage relatif 1ere ligne')
	CALL ISLEEP(0,0,3,0)
	CALL VTERAS(2)
	CALL VTSTBM(1,24)
	CALL VTORGN(0)
	CALL VTTEXT(0,0,1,1,'Adressage absolu 1ere ligne')
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTORGN ------------------------------------
12200	CALL VTMCUR(21,1)
	TYPE *,'VTORGN: ORiGiN mode'
	TYPE *,'Argument 0: adressage absolu (dans l''ecran)'
	TYPE *,'Argument 1: adressage relatif (dans la zone de scrolling)'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTWRAP (Commutation wraparound on <---> off) -----
2300	CALL VTERAS(2)
	CALL VTWRAP(1)
	TYPE *,'WRAPAROUND ON'
	TYPE *,'VTWRAP-I-Illustration du wraparound lorsque le texte est
	1 de longueur nettement plus importante que la longueur d''une ligne'
	CALL ISLEEP(0,0,3,0)
	CALL VTWRAP(0)
	TYPE *,'WRAPAROUND OFF'
	TYPE *,'VTWRAP-I-Illustration du wraparound lorsque le texte est
	1 de longueur nettement plus importante que la longueur d''une ligne'
	TYPE *,'VTRWRAP-I-C''est pourtant le meme texte'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTWRAP ------------------------------------
12300	CALL VTMCUR(21,1)
	TYPE *,'VTWRAP: WRAParound'
	TYPE *,'Argument 0: OFF (la fin de ligne est perdue)'
	TYPE *,'Argument 1: ON (la ligne deborde sur la ligne suivante'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTARPT (Commutation autorepeat on <---> off) -----
2400	CALL VTERAS(2)
	CALL VTARPT(1)
	TYPE *,'VTARPT-I-Appuyez en continu sur une touche puis <RETURN>'
	ACCEPT 1,REP
	CALL VTARPT(0)
	TYPE *,'VTARPT-I-Appuyez en continu sur une touche puis <RETURN>'
	ACCEPT 1,REP
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTARPT ------------------------------------
12400	CALL VTMCUR(21,1)
	TYPE *,'VTARPT: AutoRePeaT'
	TYPE *,'Argument 0: OFF (pas de repetition des touches)'
	TYPE *,'Argument 1: ON (repetition automatique des touches)'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTDSR (Device Status Report) ---------------------
2500	CALL VTERAS(2)
	CALL VTDSR(IETAT)
	TYPE *,'VTDSR-I-Valeur de IETAT =',IETAT
	IF (IETAT.EQ.0) CALL VTTEXT(0,0,10,1,'Le terminal est en parfait etat
	1 de marche')
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTDSR -------------------------------------
12500	CALL VTMCUR(21,1)
	TYPE *,'VTDSR: Device Status Report'
	TYPE *,'Permet de connaitre l''etat actuel du terminal'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Test de la fonction VTWAY (Who Are You ?) ----------------------------
2600	CALL VTERAS(2)
	CALL VTWAY(JESUIS)
	IF (JESUIS.EQ.0) CALL VTTEXT(0,0,1,1,'Je suis un VT 100 sans options')
	IF (JESUIS.EQ.1) CALL VTTEXT(0,0,1,1,'Je dispose du STP')
	IF (JESUIS.EQ.2) CALL VTTEXT(0,0,1,1,'Je dispose de l''AVO')
	IF (JESUIS.EQ.3) CALL VTTEXT(0,0,1,1,'Je dispose du STP et de l''AVO')
	IF (JESUIS.EQ.4) CALL VTTEXT(0,0,1,1,'Je dispose du GO')
	IF (JESUIS.EQ.5) CALL VTTEXT(0,0,1,1,'Je dispose du STP et du GO')
	IF (JESUIS.EQ.6) CALL VTTEXT(0,0,1,1,'Je dispose de l''AVO et du GO')
	IF (JSESUI.EQ.7) CALL VTTEXT(0,0,1,1,'Je dispose du STP, de l''AVO
	1 et du GO')
	IF (JESUIS.EQ.0) GO TO 2605
	CALL VTMCUR (5,1)
	TYPE *,'	STP = Special Text Processor'
	TYPE *,'	AVO = Advanced Video Option'
	TYPE *,'	GO  = Graphic Option (VT 105)'
2605	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTWAY------------------------------------
12600	CALL VTMCUR(21,1)
	TYPE *,'VTWAY: Who Are You'
	TYPE *,'Permet d''identifier le terminal'
	TYPE *,'VT100 ou LA 34 ou LA 120. Options presentes'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C----- Test de la fonction VTRIS (Reset to Initial State) --------------------
2700	CALL VTERAS(2)
	CALL VTCOL(1)
	TYPE *,'VTRIS-I-Le VT100 va executer la meme sequence que lorsqu''il
	1 est mis sous tension'
	CALL ISLEEP(0,0,2,0)
	CALL VTRIS
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTRIS -------------------------------------
12700	CALL VTMCUR(21,1)
	TYPE *,'VTRIS: Reset to Initial State'
	TYPE *,'Permet de replacer le VT 100 dans son etat initial'
	TYPE *,'en executant la meme sequence qu''a la mise sous tension'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C----- Test de la fonction VTSGR (Select Graphic Rendition) ------------------
2800	CALL VTERAS(2)
	CALL VTMCUR(10,5)
	TYPE *,'Demander VTTEXT pour une illustration du role de VTSGR'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Explication de la fonction VTSGR -------------------------------------
12800	CALL VTMCUR(21,1)
	TYPE *,'VTSGR: Select Graphic Rendition'
	TYPE *,'Permet de selectionner les attributs d''ecriture'
	TYPE *,'Normal, souligne, clignotant, surintensifie et/ou inverse'
	CALL ISLEEP(0,0,3,0)
	GO TO 9800
C------ Fin des tests --------------------------------------------------------
9900	RETURN
	END
