En Pascal, le type TEXT est prédéfini et correspond à FILE OF CHAR. La manipulation de ce type de fichiers peut se faire, non seulement à l'aide des primitives GET et PUT, mais aussi avec les primitives READ, READLN, WRITE, WRITELN. Dans le deuxième cas, il suffit de mentionner, comme premier paramètre, la variable de type TEXT.
Exemple
var C: char; I: integer; R: real; F: text; ... reset(F,'NomExterne'); read(F,C); readln(F,I,R); ...
Les primitives GET et PUT ne permettent de manipuler le fichier TEXT que caractère par caractère. Les primitives READ, READLN, WRITE et WRITELN permettent, comme pour les fi chiers prédéfinis INPUT et OUTPUT, de lire ou d'écrire des variables de différents types : caractères, entiers, réels, chaînes de caractères et intervalles d'entiers ou de caractères.
Il peut y avoir erreur à l'exécution si le(s) caractère(s) lu(s) ne correspond(ent) pas au type de la variable spécifiée dans l'appel (principalement pour des variables de type numérique). Pour éviter ce genre d'erreur, il faudrait qu'un programme ne lise que des variables de type caractère ou chaîne de caractères et fasse lui même, de manière explicite, la conversion en valeurs numériques s'il y a lieu.
La façon dont les marques de fin de ligne et de fin de fichier sont stockées dans un fichier de type TEXT dépend de l'implantation des modules d'entrée/sortie. Dans certains cas, la fin de ligne sera représentée par le caractère de contrôle de retour de chariot, dans un autre cas cela pourra être sous la forme d'un attribut de longueur précédant chaque ligne et indiquant le nombre de caractères de la ligne. De même, pour la fin de fichier, plusieurs solutions sont em ployées selon l'implantation. Le problème principal pour une implantation donnée est de déterminer si la marque de fin de fichier apparait en même temps que la marque de fin ligne (de la dernière ligne) ou après que l'on ait essayé de passer à la ligne suivante.
Site Hosting: Bronco