Bienvenue sur Squalenet.Net ! - Nous sommes le 08/08/2019 ; il est 08:41
Connecté : 1 inconnu
Votre Compte

Login :
Password :

S'inscrirePassword Oublié
Statistiques

Chapitre 17

Manipulation de la VAT

Chapitre 16 Imprimer Chapitre 18
Cette page est en cours de rédaction.

Lorsque vous ouvrez le menu VAR-LINK de votre calculatrice, vous y rencontrez généralement un (grand ?) nombre de ce qui est appelé "variables".
Celles-ci peuvent être des programmes, des fichiers texte, des fonctions, des images, ...
Ce chapître va nous permettre de voir comment les manipuler, que ce soit pour en rechercher, en lire, ou en créer.

 

I:\ Variables, Fichiers, et VAT

Pour commencer, nous allons voir quelle est l'utilité d'accèder à des fichiers. Nous continuerons en présentant une méthode "standard" d'accès aux fichiers, avant de dire quelques mots sur une méthode spécifique à nos machines, que nous développerons au cours de la suite de ce chapître.

A: Qu'est-ce qu'une variable fichier, et pourquoi y accèder ?

Nous avons de nombreuses fois eu l'occasion de constater, au cours des différents chapîtres que nous avons rédigé, ou lu, ensemble, et à travers les exemples qu'ils vous proposaient, que nous pouvions stocker des données dans des variables propres à nos programmes.
Par exemple, nous pouvons déclarer une varible entière et l'initialiser à la valeur 10 de la manière qui suit :

short variable = 10;

Cela dit, dès que nous quittons la fonction où cette variable a été déclarée, la valeur qu'elle contenait est perdue ; autrement dit, lorsque notre programme se termine, la valeur de la variable n'est sauvegardée nulle part, et il n'est pas possible de la retrouver au prochain lancement de celui-ci.

La solution à ce problème réside dans l'emploi de ce qui est appelé, sur TI, des "variables" - sauf qu'il faut ici prendre ce terme de variable au sens de "fichier", et non pas au sens de "variable C" telle celle que nous avons rencontré quelques lignes plus haut.
Qu'est-ce qu'un fichier ? Et bien, comme sur un ordinateur, encore qu'en simplifié - n'oublions pas que nous ne sommes que sur une calculatrice - il s'agit d'une suite continue d'octets, à laquelle est associée un nom.
Par exemple, les programmes que vous lancez (et ceux que vous développez !), ainsi que toutes les données apparaissant dans le menu VAR-LINK de votre machine sont des fichiers.

Vous noterez que, au début du parapraphe précédent, j'ai employé le terme de "variable" à la place de celui de "fichier" ; c'est le nom qui est généralement utilisé sur nos machines. Il vous revient de faire la différence entre une "variable C" visible seulement par votre programme, et une "variable" accessible partout, y compris par d'autres programmes.

 

B: Méthode ANSI d'accès aux fichiers

La plupart des compilateurs C incluent une série de fonctions d'accès aux fichiers ; ces fonctions sont toujours les mêmes, et elles sont toujours utilisées de la même manière.
En fait, ces fonctions sont définies par la norme ANSI.

TIGCC étant un compilateur C, et nos calculatrices intégrant une notion de "fichiers", TIGCC propose ces fonctions ANSI d'accès aux fichiers.

Ces fonctions étant implémentées sur la plupart des compilateurs C, les utiliser pour développer vos programmes améliorera leur portabilité vers d'autres plates-formes.
Ou plutôt, comme cela se fait le plus souvent, elles facilitent le portage d'un programme d'une autre plate-forme vers nos calculatrices, de même qu'elles simplifient les choses aux personnes ayant déjà développé sur d'autres plates-formes, et souhaitant se mettre à la programmation sur TI.

Cela dit, ces fonctions n'étant pas présentes sur TI, si vous les utilisez dans votre programme, TIGCC devra les copier au sein de celui-ci ; ce qui augmentera sa taille de manière relativement conséquente.

La troisième partie de ce chapître sera consacrée à ce type de fonctions... Mais nous verrons qu'il existe une autre solution, qui, même si elle est moins portable, est souvent plus adaptée pour nos calculatrices.

 

C: La VAT : Variable Allocation Table

 

II:\ Formats de fichiers

 

III:\ Accès aux fichiers avec les fonctions ANSI

 

A: Ouveture et fermeture de fichiers

 

B: Accès par caractères

 

C: Accès par blocs

 

IV:\ Rechercher des fichiers dans la VAT

 

A: Rechercher un fichier par son nom

 

B: Rechercher un fichier dont on connait le nom

 

C: Rechercher les fichiers d'un type précis

 

D: Lire l'extension d'un fichier personnalisé

 

V:\ Lecture / écriture en accès direct

 

VI:\Quelques fonctions supplémentaires







Manipulation de la VAT

I: présentation : Accès aux fichiers
    A: pourquoi accèder à des fichiers ?
    B: Méthode ANSI d'accès aux fichiers
        => fopen, fwrite, fread, fseek, fclose
        => Avantages (portabilité, facilité)
        => Inconvénients (sur TI : lourd, grossi la taille du programme)
    C: La VAT
        => Variable Allocation Table
           (Plus ou moins équivalent à la FAT sur PC)
        => Accès direct à la mémoire
        => Pourquoi c'est la méthode préférée sur TI

II:\ Accès aux fichiers avec les fonctions ANSI
    => fopen, fclose, feof
    => Par caractères : fgetc, fputc
    => Par blocs : fread, fwrite

III:\ Rechercher des fichiers dans la VAT
    => Rechercher un fichier par son nom
        => /!\ SYM_STR 
    => Parcourir toute la VAT, à la recherche d'un fichier de nom donné, dont on ne connait pas le répertoire
    => Parcourir toute la VAT, à la recherche des fichiers d'un type particulier
    
    + Lire l'extension d'un fichier OTH
    
IV:\ Lecture, écriture
    => Accès direct en mémoire
    => Attention, bien entendu, possible uniquement si variable en RAM

V:\ Quelques fonctions utiles en plus
    => Attention à la version de ROM nécessaire
       (Pas mal de fonctions ne tournant que sous AMS >= 2.0x)



Chapitre 16 Imprimer Chapitre 18