Index des articles > Programmation > Tutorial Vertel3 :: Chapitre II

Tutorial Vertel3 :: Chapitre II

Article posté par Thor

Chapitre II

Chapitre II

Votre premier programme avec Vertel3

  Après un premier chapitre plein de longues considérations théoriques, il est temps pour nous de s'initier à l'utilisation de cette librairie performante. Pour ce faire nous coderons le fameux "Hello world" qui est toujours LE classique des programmeurs débutants.

A) Premier essai

prgm n°1 : hello1

Prgm
Local s
@ On déclare la variable s en local pour qu'elle ne reste pas en mémoire après l'exécution du programme.
vertel("save",0,0,"s",159,99) @ On sauvegarde l'écran dans s
vertel("clrs") @ On efface totalement l'écran
vertel("text",47,"Hello world",40,1) @ On affiche le texte "Hello world"
vertel("text",41,52,1,"avec Vertel 3") @ puis "avec Vertel 3
vertel("paus") @ On attend que l'utilisateur presse une touche quelconque
vertel("pict",0,0,1,"s") @ On redessine tout l'écran en affichant entièrement s
EndPrgm

  Dans ce premier programme nous remarquons tout d'abord la présence de 5 fonctions : "save", "clrs", "text", "paus" et "pict". Nous présenterons l'utilité de ces fonctions un peu plus tard dans ce chapitre. concentrons nous plutôt sur la syntaxe des instructions passées à Vertel3. Vertel3 reconnaît deux types de variables : les chaînes de caractères (communément appelées 'string') et les expressions c'est à dire des nombres et des chiffres. Vertel3 ne se préoccupe pas de l'ordre entre ces deux types de variables. Néanmoins il est obligatoire de respecter l'ordre entre des variables de même type. Un appel "courant" à vertel se fera donc de la façon suivante :

vertel("fonc","arg_chaine",a,b)

  Il est préférable pour plus de compréhension de regrouper les chaînes de caractères en début d'appel juste après le nom de la fonction puis de placer ensuite les expressions. La syntaxe d'un appel a la fonction "text" étant "chaîne_à_afficher",x,y, l'exemple suivant :

vertel("text","Test vertel",20,30)

affichera "Test vertel" aux coordonnées x=20 et y=30 sur l'écran alors que :

vertel("Test vertel","text",20,30)

n'affichera rien puisque Vertel3 ne connaît pas de fonction du nom de "Test vertel"!

B)Deuxième essai

  Nous remarquons ensuite que ce programme appelle 6 fois Vertel3 de suite. Il existe en effet dans Vertel3 une possibilité qui consiste à placer un double guillemet ("") également appelée "chaine vide" pour séparer les fonctions. Cette astuce est un très bon moyen d'optimisation car elle raccourci le programme et elle permet une rapidité d'exécution bien supérieure. Avec le programme hello1, le TIOS (c'est à dire le système d'exploitation de votre Ti) appelle à chaque fois Vertel3 pour lui passer une instruction : cela prend donc du temps. Nous allons donc optimiser ce premier programme afin qu'il soit moins volumineux, qu'il soit plus rapide à l'exécution et qu'il soit plus compréhensible à la lecture (en organisant les variables comme nous l'avons cité précédemment) :

prgm n°2 : hello2

Prgm
Local s
vertel("save", "s", 0, 0, 159, 99, "", "clrs", "", "text", "Hello world", 47, 40, 1, "", "text", "avec Vertel 3", 41, 52, 1, "", "paus", "", "pict", "s", 0, 0, 1)
EndPrgm

  Attention : Pour plus de lisibilité j'ai été obligé de placer des espaces après chaque virgule mais ceci n'est pas à faire sur votre Ti : vous devez tout écrire tout l'appel à Vertel3 à la suite sans aucun caractère [ESPACE]. Pour avoir un exemple reporter vous aux exemples fournis. A partir de maintenant tous les programmes seront écrits de cette façon, je considère donc que vous savez pourquoi !

C)Troisième et dernier essai

  Eh oui! Ce programme n'est toujours pas au top de sa forme : il existe encore une optimisation qui réside dans la grande force de Vertel3 en comparaison des autres librairies, c'est la gestion des listes. Vertel3 a la possibilité de "comprendre" les listes (de chaînes de caractères ou d'expression qui sont les deux seul types de variables reconnus par Vertel3). Dans le précédent hello2 nous affichons deux textes différents en faisant appel deux fois à la fonction "text".

prgm n°3 : hello3

Prgm
Local s
vertel("save", "s", 0, 0, 159, 99, "", "clrs", "", "text", {"Hello world", "avec Vertel 3"}, {47, 41}, {40, 52}, 1, "", "paus", "", "pict", "s", 0, 0, 1)
EndPrgm

  Dans ce dernier hello3, on s'aperçoit que la fonction "text" prend comme argument différentes listes. Le prochain chapitre à pour but de vous expliquer comment Vertel3 interprète ces listes.

D)Les premières fonctions de Vertel3

  Nous venons de découvrir 5 fonctions que je vais expliquer plus en détail dans cette partie. Les fonctions seront suivies de leurs arguments qui seront entre guillemets si ce sont des chaînes de caractère et entre crochets s'ils sont optionnels.

  Note: Certaines fonctions demandent des arguments qui modifient l'affichage. Néanmoins on remarque que toutes les fonctions (sauf recv) affiche en mode normal lorsque cet argument vaut 0. Il n'est pas nécessaire de le mettre car Vertel3 considère que tout argument oublié vaut 0. Par contre faites attention à placer un 0 si il reste encore des arguments derrière car si vous taper :

vertel("line",10,10,20,20,0)

vous pouvez le remplacer par :

vertel("line",10,10,20,20)

  Néanmoins si vous souhaitez faire une ligne des coordonnées (0,0) jusqu'à (20,20) vous ne pouvez taper :

vertel("line",,,20,20)

clrs :: Efface l'écran de la calculatrice de façon totale. Cette fonction efface tout l'écran mais ne tient pas compte des différents écrans connus en Ti-Basic (Home, I/O, Graph...).

save :: "var", x1, y1, x2, y2 :: Sauvegarde la portion d'écran comprise entre les coins x1,y1 et x2,y2 dans la variable "var" qui sera de type PIC. Elle est donc réutilisable dans un programme Ti-Basic classique. Le 1er coin doit être au dessus et à gauche du second.

text :: "texte", x, y, taille, mode :: Inscrit le texte "texte" sur l'écran, aux coordonnées x,y. Il est possible d'utiliser les 3 tailles de police disponibles sur la Ti, à savoir 0 pour la petite police, 1 pour la moyenne, et 2 pour la grande. Les modes possibles sont 0 pour afficher normalement, 1 pour écraser le fond, 2 pour afficher en négatif, 3 pour inverser, et 4 pour afficher en pointillés (comme dans les menus du TIOS lorsque l'option n'est pas disponible).

paus :: Cette fonction est comparable à l'instruction "Pause" du TIOS : elle stoppe le programme tant que l'utilisateur n'a pas appuyé sur une touche. Elle possède néanmoins quelques avantages : elle permet de faire une pause au milieu d'un appel de Vertel3, sans quitter la librairie; elle ne réaffiche pas l'indicateur "pause" de la barre d'état et elle retourne la valeur de la touche appuyée (les codes sont les mêmes que la fonction "Getkey()", sauf pour les flèches).

pict :: "var", x, y [, mode] :: Affiche l'image "var" de type PIC (qui peut être sauvegardée avec save auparavant) à la position x,y. Les modes sont 0 pour afficher normalement en "OU" logique (comme RclPic), 1 pour écraser le fond (comme RplcPic), 2 pour du négatif, 3 pour afficher en inversé, "OU" exclusif (comme XorPic), et 4 pour afficher en "ET" logique (comme AndPic). Si le mode vaut -1, au lieu d'afficher l'image, la fonction retourne ses dimensions en largeur et hauteur.

Chapitre III


Tutorial rédigé par Cyril Mottier aka Thor (orlin61@wanadoo.fr). Les mises à jours de ce tutorial sont disponibles sur mon site

>> Vos commentaires [0]

Pas de commentaires

Poster un commentaire


Seuls les membres peuvent poster des commentaires