Quelles sont les fonctions ?

 

Cette partie de la notice est également disponible en texte pour la calculatrice, il s'agit du fichier "Notice.89t" (compatible 92+ et V200). Elle a été traduite par Alexandre, et nécessite un viewer spécial pour la lire. Je vous recommande hibview, disponible sur http://nico.hibou.free.fr. Il n'est pas parfaitement stable, mais malheureusement il n'existe à l'heure actuelle aucun viewer compatible sans défaut.

 

Types de fonction :

Il existe 5 types de fonction dans Vertel, différenciées par la lettre qui précède l’underscore ( _ ) :

- s : Ce sont les fonctions qui modifient ou reglent (set) des paramètres de la Ti, comme par exemple l’APD, le contraste, etc…
- e : Ce sont des commandes executables, qui ne changent aucun paramètres et n’affichent rien à l’écran, comme par exemple la pause.
- d : Toutes les fonctions graphiques (draw). Ces fonctions supportent toutes le clipping sauf d_recp.
- t : Les fonctions texte, écriture dans différents formats, police, etc…
- v : Pour effectuer des modifications sur les variables du TiOS.

En violet sont indiqués les noms de fonctions, et en bleu les arguments à ajouter à la suite. Par exemple :
f_name : num, str, mode(2) signifie qu’il faut écrire dans la Ti ‘vertel("a_fonc",x,y,z)’, où ‘x’ est un nombre entier positif (num), ‘y’ une chaîne de caractères (str) et ‘z’ un nombre comprit entre 0 et 2 (mode(2)).
Les lettres en vert sont un aide-mémoire, elles indiquent les 4 lettres utilisées pour définir la fonction (cntr pour contraste par exemple).

 

Liste des fonctions :

d_bufr : aucun argument
Cette fonction redirige toutes les fonctions d'affichage vers un buffer interne au premier appel, ou bien affiche le contenu du buffer à l'écran au second. Ceci permet d'éviter qu'un lourd appel graphique fasse apparaitre des elements un par un sur l'écran : activez le buffer, tracez tout dedant, puis affichez le au dernier moment. Vous connaissez peut-être cette technique sous le nom de double buffering. Vous pouvez également vous en servir pour dessiner à l'écran et sauvegarder en PIC, sans que cela soit visible par l'utilisateur.
Note : Le buffer est effacé quand la librairie est quittée. Si vous souhaitez le conserver, il suffit de faire d_save dessus, puis d_pict dans un appel suivant.

d_clrs : aucun argument
Efface totalement l’écran (clear screen). Pensez à sauvegarder l'écran en début de programme pour le restaurer à la fin. Si vous oubliez, vous pourrez par exemple ouvrir puis fermer le vars-link, puis ouvrir et fermer (avec ESC) le menu ‘F1-Tools’. Tout devrait réapparaître sauf la line au-dessus de la Status Line. Pour la retracer, le plus simple est d’utiliser la fonction d_line de Vertel, en sachant que cette ligne se trouve à la position y=93 sur Ti89 et y=121 sur Ti92+ / V200.

d_crcp : x, y, a, b, mode(2)
Dessine un cercle plein (disque) à la position x,y de rayon horizontal a et vertical b. Mode Normal (0), Inverse (1), Xor (2). Cette fonction est très lente, car ce n’est en fait qu’un ‘for t,0,a :cercle x,y,t,b : endfor’ executé par Vertel, mais ce sera toujours plus rapide que d’écrire cette boucle en Ti-Basic…

d_crcv : x, y, a, b, mode(2)
Dessine un cercle vide à la position x,y de rayon horizontal a et vertical b. Mode Normal (0), Inverse (1), Xor (2).

d_line : x1, y1, x2, y2, mode(3)
Trace une ligne de la position x1,y1 à la position x2,y2. Mode : Normal (0), Inverse (1), Xor (2), Epais (3).

d_pict : str, x, y, mode(4)
Appelle une variable de type Picture et la place à la position x,y. Elle apparaît en mode Normal (0), Remplace (1), Inverse (2), Xor (3), ou And (4).

d_pixl : x, y, mode(2)
Dessine un pixel à la position x,y. Le mode est Normal (0), Inverse (1), ouXor (2)

d_recp : x1, y1, x2, y2, mode(2)
Trace un rectangle plein entre les positions x1, y1 et x2, y2. Il peut être Noir (0), Blanc (1), ou Inversé (2).

d_recv : x1,y1,x2,y2,mode(x)
Trace un rectangle vide entre les positions x1, y1 et x2, y2. Le mode peut prendre beaucoup de valeurs. En voici quelques uns : 0 : Noir, 1 : Blanc, 2 : Inversé, 50 : Bords ronds,  65 : Epais, etc… Vous pouvez combiner plusieurs modes (exemple : 50 + 65 = 115, Bords ronds + Epais).

d_save : str, x1, y1, x2, y2
Sauvegarde la zone de l’écran comprise entre x1, y1, x2 et y2 dans la variable str. Il est conseillé d'utiliser cette fonction quand vous voulez restaurer l'écran à la fin d'un programme. Utilisez vertel("d_save","backup",0,0,159,99) (ou 239,127 sur Ti92+) au début du programme pour sauvegarder tout l'écran, et vertel("d_pict","backup",0,0,1) à la fin pour le restaurer.

d_size : str
Renvoie les dimentions x et y de la variable str de type pic.

d_test : x, y
Renvoie l'état du pixel situé aux coordonnées x, y (éteind = 0, allumé = 1)

d_trip : x1, y1, x2, y2, x3, y3, mode(6)
Trace un triangle plein entre les positions x1, y1, x2, y2 et x3, y3. Il sera en mode Normal (0), Inverse (1), Xor (2) ou Ombré (3~6).

e_offp : aucun argument
Cette fonction éteinds la calculatrice (off power).

e_paus : aucun argument
Met le programme en pause et attends l’appui sur une touche. Le seul intérêt de ce truc est de pouvoir faire une pause sans quitter Vertel (utile pour le niveaux de gris par exemple). Cette fonction renvoie la touche appuyée (attention les codes ne sont pas forcément les mêmes que pour la fonction GetKey() du Ti-Basic).
Note : l’avantage de cette fonction sur le 'pause' du Ti-Basic est que l'indicateur d’état ne réapparaitra pas si vous l'utilisez, et bien sûr qu'elle permet de savoir quelle touche a été enfoncée.

e_retr : str
Retourne et sauvegarde (return) tout les éléments renvoyés dans la variable str de type liste. Cette fonction sauvegarde les valeurs qui ont été retournées avant l'appel de la fonction, en clair si vous écrivez vertel("e_paus","/","e_retr","var","/","e_paus") seule une touche sera stockée dans 'var' : celle du e_paus situé avant l'e_retr.
Note : Si vous ne précisez pas str, la variable retournée de manière 'interne', autrement dit vous ne pourrez l'utiliser que pendant le même appel de Vertel. Elle portera alors le nom "©" (voyez le paragraphe sur le retour de liste interne pour plus de précisions).

e_vers : aucun argument
Renvoie une chaine contenant le numéro de la version, soit actuellement "2.00 ß8". Utilisez de préference cette fonction pour de tester la version de Vertel avant de continuer l'execution de votre programme, afin de vous prévenir de bugs éventuels (voyez le chapitre 4 pour plus d'informations).

e_wait : num
Attend (wait) pendant num 20e de secondes.

s_apdt : num
Règle l’Automatic Power Down Timer (Temps au bout duquel la Ti89 s’éteinds) à num 20e de secondes (environ). Si vous vous amusez à mettre 1 ou quelque chose dans le genre, vous ne pourrez plus allumer votre calc sans qu’elle s’éteigne tout de suite… En gros il ne vous restera plus qu’a faire un reset :). Mettez num à -1 si vous voulez que la fonction retourne la valeur courante de l'APD.

s_brek : mode(1)
Désactive (0) ou Réactive (1) la possibilité de faire ‘Break’ dans les programmes en Ti-Basic (touche ON). Si votre programme utilise des graphismes, empechez l’utilisateur de faire break, car sinon il se retrouvera avec un écran à moitié effacé ce que peut être assez désagréable quand on ne s’y connaît pas trop… Le break est réactivé automatiquement si vous appellez un programme ou une fonction.

s_busy : mode(3)
Change l’indicateur ‘Busy’ : Idle (0), Busy(1), Pause (2), Clear (3). Si vous trouvez une utilité à ça, prévenez-moi !

s_clip : x1, y1, x2, y2
Cette fonction peut se réveler très utile : elle change pour toutes les instructions suivant son appel la zone d'affichage (clip). Tout ce qui devrait normalement être tracé en dehors de cette zone n'est pas affiché. Cela signifie par exemple que si vous définissez une zone de clip de 10,10,159,99 puis que vous appelez un PIC à 0,0, l'image PIC sera coupée et seuls les pixels situés dans la zone de clip apparraitront. Autre exemple : définissez une zone de clip 50,50,60,60, puis tracez un cercle plein sur tout l'écran : il n'apparaitra que dans la zone de clip, c'est à dire 50,50,60,60.
Note : Les fonctions qui supportent le clipping sont celles de type d_ (sauf d_recp), ainsi que t_draw et t_prty.

s_cntr : mode(2)
Cette fonction sert à évaluer (0), diminuer (1) ou augmenter (2) le contraste d’un degré. Pour le mode 0, la fonction renvoie donc un nombre entre 0 et 31, qui est donc la valeur du contraste. Par contre pour les modes 1 et 2, la fonction diminue ou augmente le contraste (d'ou le préfixe 's_').

s_gray : mode (1)
Cette fonction active les niveaux de gris, et regle le plan d'affichage : (0=Clair, 1=Foncé). Les fonctions graphiques se feront ensuite sur le plan choisi. À la fin de l’appel de Vertel, les gris seront automatiquement désactivés. Si vous voulez afficher une image en niveaux de gris, il vous faudra ajouter un e_paus à la fin, car l'instruction "pause" du Ti-Basic provoquera l'arrêt de Vertel, et donc des niveaux de gris.
Attention : Cette fonction est incompatible avec l'utilisation du buffer interne, et rendra donc son utilisation inutile.

s_keyi : num
Règle le temps avant l’initialisation de la répétition des touches (keys) à num, mais je ne connais pas l’unité de temps. Quand vous éteignez votre Ti cette valeur est réinitialisée.

s_keyr : num
Règle la vitesse de répétition des touches (keys) à num. Même remarque sur l’unité de temps. Ça peut être agréable d’augmenter un peu la vitesse de répétition des touches, qui est légèrement trop lente par défaut. Ceux qui dessinent beaucoup sur l’écran Graph voient ce que je veux dire…

s_locl : num
Cette fonction modifie le dossier utilisé pour stoquer les variables locales dans un programme. Elle sert en fait à ce qu'un sous-programme puisse modifier des variables dans le programme qui l'a lancé. La fonction oblige l'utilisation du dossier local situé num programmes en arrière (si vous remontez un rang en arrière par rapport au programme 'maitre', le 1er à être lancé, les variables locales sont alors placées dans le dossier courant).
L'utilisation de cette commande est un peu complexe, voyez le chapitre 4 pour plus d'informations.

s_powr : mode(2)
Change l’indicateur ‘Power’ : Désactivé (0), Batteries faibles (1), Batteries vides (2). L’indicateur se rétablit tout seul assez vite, alors si vous voulez vraiment faire croire à un pote que vous avez vidé ses piles, utilisez cette commande à l’intérieur d’une boucle de type loop, while, for, etc…

s_time : num
Permet de calculer avec beaucoup de précision des durées (time) (pour mesurer les fps, ou un quelconque écoulement de temps par exemple). Si num est positif, un compteur prends sa valeur. Il est ensuite décrementé de 1 tous les 20e de seconde, jusqu'à 0. Si num vaut -1, alors au lieu de fixer le compteur la fonction renvoie sa valeur courante.

t_draw : str, x, y, mode(2a), mode(4b)
Affiche le texte str à la position x,y en taille mode(2a) (0=4x6, 1=6x8 ou 2=8x10) et en style mode(4b) : Normal (0b), Remplace (1b), Inverse (2b), Xor (3b), Crypté (Comme les choix non accesibles dans les menus du TiOS) (4b). Si vous entrez 999 comme coordonnée x, le texte sera centré automatiquement. Cette fonction est clippée (voyez s_clip) : si vous entrez un nombre négatif, le texte sera tout de même en partie affiché.

t_prty : str, x, y, mode(4)
Affiche l'expression mathématique str aux coordonnées x,y en mode Pretty Print (le style d'écriture utilisé dans l'écran Home). Cette fonction est clippée, et le mode(4) est le même que pour la fonction t_draw.
Attention : L'expression à afficher est une chaine, pas un nombre !

t_stln : str
Ecrit le texte str dans la status line.

t_wdth : str, mode(2)
Renvoie la longueur (width) en pixels de la chaine str dans la police mode(2).

v_delt : str, mode(1)
Efface (delete) un fichier (0) ou un dossier (1) du TiOS. Cette fonction a pour avantage par rapport à 'delvar' de supprimer la variable même si elle est archivée, cachée ou protégée. Si vous supprimez un dossier, son contenu le sera également.
Note : Si vous essayez de supprimer le dossier main, seul son contenu sera effacé mais le dossier restera présent.

v_hide : str, mode(1a), mode(1b)
Cette commande permet de montrer (0b) ou de cacher (1b) (hide) la variable str. Une variable cachée n’apparaîtra pas dans le Vars-Link. Vous devez choisir comme mode 0a pour un fichier et 1a pour un dossier.

v_list : [str][, num a [, num b]]
Renvoie la liste des fichiers ou dossiers de la Ti. Si str n'est pas précisée, Vertel donnera la liste des dossiers, et si str est le nom d’un dossier, par exemple "main", vous optiendrez la liste des fichiers de ce dossier. L'argument num a, si il vaut 1, oblige Vertel à retourner une liste contenant également le nom du dossier devant chaque fichier. L’argument num b n’a aucun effet si il vaut 0, sinon il filtre les variables à renvoyer (220=Programme / fonction, 234=Assembleur, etc... voire "Quelques conseils" à propos des types de fichiers).

v_load : {num,str}
Renvoie l'argument donné à la fonction. En clair, "v_load",5 renvoie 5, et "v_load","str" renvoie "str". Oui, ça parrait stupide. Mais si vous utilisez cette commande avec des listes, elle peut devenir très pratique. Par exemple vertel("v_load","#list1","/","v_load","#list2","/","e_retr","list3") est quasiment deux fois plus rapide que augment(list1,list2)->list3.
Cette fonction sert aussi à passer des variables locales d'un programme à un autre (voyez le chapitre 4 pour plus d'informations).

Attention : ne soyez pas tenté d'écrire vertel("v_load",{"#list1","#list2}) car cette écriture est invalide : Vertel ne supporte pas les liste imbriquées.

v_make : str, num
Crée (make) un fichier vide de num octets, qui pourra être modifié avec v_read et v_writ, par exemple. Si le mode vaut 1, la zone mémoire correspondant au fichier ne sera pas réinitialisée, cela peut par exemple permettre de "redimentioner" un fichier en utilisant v_make avec une taille plus grande ou plus petite que celle initiale.
Note : la taille maximum d'un fichier est de 65520 octets.

v_read : str, [num a[, num b]]
Lis (read) et renvoie les octets de num a à num b de la variable str. Si cet octet n’existe pas (vous essayez de lire en dehors de la variable), la fonction renvoie 0. Si vous ne mettez que l'argument num a, la fonction ne renverra que l'octet n° num a, et si vous ne mettez aucun argument (vous laissez à zéro aussi bien num a que num b), la variable sera lue du début à la fin.
Note : Il est impossible de lire uniquement l'octet n°0, car la fonction lit toute la variable dans ce cas particulier. Mais cet octet est la première partie de la taille du fichier, vous n'aurez donc normalement jamais besoin de le lire seul.

v_size : str
Renvoie la taille (size) en octets de la variable str.

v_stat : str
Renvoie l’état (status) de la variable str (archivée, verouillée, cachée) sous forme d’un nombre. En testant ses bits un par un, vous pouvez obtenir l'état de la variable. Pour un dossier le premier bit indique si le dossier est caché, le second si il est ouvert ou fermé. Pour un fichier, les 3 bits sont dans l'ordre : fichier caché, fichier archivé, fichier verouillé. Ces 'bits' sont donc sous la forme binaire, en clair si vous testez l'état d'un fichier verouillé, archivé et caché, vous obtiendrez la valeur 111 en binaire, c'est à dire 7.
Pour tester les bits en basic, il vous suffit d'utiliser 'and'. En admettant que vous avez retourné l'état de la variable dans la variable stt, "if (stt and 1)>0" teste le 1er bit, "if (stt and 2)>0" teste le second et "if (stt and 4)>0" le troisième.

v_strn : num
L'équivalent 'Vertel' de la fonction string() a son avantage : elle est plus rapide et peut devenir très pratique grâce à l'utilisation des listes en argument. Cette fonction renvoie donc la chaine "123" quand num vaut 123. Il y a toutefois une grosse différence entre string() et v_strn : string({1,2,3}) renvoie "{1,2,3}", alors que vertel("v_strn",{1,2,3},"/","e_retr","liste") renvoie {"1","2","3"}.

v_test : {num,str} a, {num,str} b
Cette fonction compare les deux valeurs de même type a et b. Si les deux valeurs sont égales, la fonction renvoie un nombre positif, sinon elle ne renvoit rien. Elle est surtout utile pour rechercher un élement dans une liste, et a été conçue dans cette optique : placez par exemple en a une liste de nombres, et en b un nombre unique. Vous obtiendrez dans la liste de retour les rangs de la liste qui sont égaux à b.
Par exemple vertel("v_test",{1,1,2,1,1,1,2,1},2,"/","e_retr","var") stoque {3,7} dans var.
Attention : vertel("v_test",{1,1,1,2,2},{2,2,2},"/","e_retr","var") ne retourne rien, car Vertel compare alors les élements un à un et s'arrête au troisième element, puisque la deuxième liste est terminée.

v_type : str, mode(1)
Renvoie le type de la variable str. Cette fonction est similaire au GetType() du TiOS, mais a deux aventages. Premièrement vous pouvez aller bien plus vite que GetType() pour avoir le type d'un groupe de variables, en utilisant une liste en argument. Deuxièment, cette fonction peut renvoyer les extension personnelles qui sont considérées comme "OTH" par GetType(), si vous laissez le mode à 0 (Elle retourne "OTH" si le mode est à 1). Et enfin, cette fonction retourne toujours la même chose quelle que soit la langue utilisée sur la calculatrice.
Note : Afin d'être totalement compatible avec GetType(), cette fonction renvoie "NONE" si la variable n'existe pas.

v_writ : str, num a, num b
Ecrit (write) à l'octet num a de la variable str la valeur num b. Vous pouvez remplacer l’argument num b par une chaine str b qui contient le nom d’une liste. Dans ce cas, Vertel fixera autant d’octets de la variable à partir de num a que la taille de la liste, en utilisant bien sûr les élements de la liste comme valeur à entrer.
Note : Si vous utilisez une liste pour num b, il n'est pas nécessaire de préciser tous les octets à fixer. Autrement dit pas la peine d'écrire ce genre de choses : vertel("v_writ","chaine",{0,1,2,3,4,5},{0,4,0,97,0,45}). Il suffit d'écrire le 1er octet à fixer, et se sont les suivants qui prendront les différentes valeurs de la liste, car l'incrémentation est automatiquement prise en compte. Il est donc possible et plus simple d'écrire : vertel("v_writ","chaine",0,{0,4,0,97,0,45}).

 

Retour à la page principale