READ-LINE

READ-LINE


Lire dans fichier externe

 

Cette fonction renvoie le contenu d'une ligne d'un fichier ouvert par la fonction (open).
Comme son nom l'indique cette fonction lit une ligne, une ligne complète et ce séquentiellement, c'est à dire qu'au premier appel lecture de la ligne 1
au deuxième lecture de la ligne 2 et ainsi de suite jusqu'à la fin du fichier
si on relance la fonction (read-line) par exemple dans une boucle.

 

syntaxe (read-line [descripteur-fichier])
argument descripteur-fichier,
le descripteur d'un fichier ouvert en lecture ou écriture
obtenu par la fonction (open)
Valeur renvoyée le contenu de la totalité de la ligne du fichier

Pour l'exemple, commencez par enregistrer un fichier nommé "Test-read-Line.txt"sur un de vos disques :
(sur l'exemple j'ai choisi E: mais vous comprenez que vous avez le choix, vous êtes libres aussi de choisir un autre nom) et mettez dedans ce que vous voulez, j'ai choisi ça :

Création de la variable qui va mémoriser le descripteur du fichier :

(setq fichier-a-lire (open "e://Test-Read-Line.txt" "r")

ou bien avec des barres obliques inverses (antislash)

(setq fichier-a-lire (open "e:\\Test-Read-Line.txt" "r")

(voir les explications des anti-slash dans la fonction (open))

Il ne reste plus qu'à lancer la fonction (read-line) en lui donnant la variable "fichier-a-lire" comme argument :

(setq ligne-lue (read-line fichier-a-lire))

Cette variable ligne-lue contiendra :
"Ligne 1 dans le fichier exemple pour la fonction read-line"
et au deuxième lancement :

(setq ligne-lue (read-line fichier-a-lire))

La variable ligne-lue contiendra maintenant :
"Ligne 2 dans le fichier exemple pour la fonction read-line"

Et ainsi de suite... jusqu'à la fin du fichier et :
- soit vous connaissez le nombre de lignes à lire et vous lancez donc la fonction (read-line) autant de fois que nécessaire,
- soit vous ne connaissez pas le nombre de lignes et il va falloir utiliser un "test" avec les fonctions de comparaison expliquées par ailleurs.

Ce fichier est donc "ouvert" (open) par Autolisp, il est donc important voire primordial de le fermer dès qu'on a fini avec (read-line),
voir la fonction (close).

(close fichier-a-lire)

Si, entre le moment où vous lancez la fonction (open) et l'exécution du code le contenu du fichier cible change, cas rare et particulier mais il faut savoir que ce qui va être lu par (read-line) sera le contenu au moment du lancement de (open), toutes les modifications ultérieures ne seront pas prises en compte.



Haut de page

Revenir au menu FICHIERS


4 décembre 2017