Invité CityHunter87 Posté(e) le 10 février 2011 Posté(e) le 10 février 2011 Bien le bonsoir :) J'aimerais dans mon programme LISP recueillir les données d'un fichier texte ligne par ligne à l'aide d'un read-line. Voici le code que je tape et l'erreur que je me tape lorsque je lance mon programme :) ; erreur: no function definition: GABARIT (setq dft (open "C:/Users/Julien/Desktop/PROJET SIG/Prog/variables.txt" "r")) (while (setq enrg (read-line dft))(setq gabarit (read-line dft))(setq donnee1 (read-line dft))(setq donnee2 (read-line dft))....(setq donnee12 (read-line dft)))(close dft) Pouvez vous m'aider à trouver mon erreur ?? Les sujets que j'ai consulté n'ont pas répondu à mes attentes. Merci.
(gile) Posté(e) le 10 février 2011 Posté(e) le 10 février 2011 Salut, À lire le code que tu as posté, je ne comprends pas le pourquoi de ce message d'erreur.Il n'y a pas d'expression qui serait un appel de fonction avec 'gabarit'. Par contre, tu utilises une boucle (while (setq enrg (read-line dft)) ...) à l'intérieur de la quelle tu refais plusieurs (read-line ...) ce qui n'est pas cohérent.Chaque appel de read-line lit la ligne suivante. Si tu ne veux que les 13 premières lignes, tu n'as pas besoin de faire de boucle : (setq dft (open "C:/Users/Julien/Desktop/PROJET SIG/Prog/variables.txt" "r")) (setq gabarit (read-line dft)) (setq donnee1 (read-line dft)) (setq donnee2 (read-line dft)) ... (setq donnee12 (read-line dft)) (close dft) Si tu veux lire tout le fichier, tu peux faire une boucle while et récupérer chaque ligne dans une liste qu'il faudra inverser à la fin pour la remettre dans l'ordre. (setq dft (open "C:/Users/Julien/Desktop/PROJET SIG/Prog/variables.txt" "r")) (while (setq line (read-line dft)) (setq lst (cons line lst)) ) (close dft) (setq lst (reverse lst))Cette méthode permet de lire tout le fichier sans connaitre à l'avance le nombre de lignes.On accède ensuite aux différentes lignes avec la fonction nth :(setq gabarit (nth 0 lst)) (setq donnee1 (nth1 lst)) (setq donnee2 (nth2 lst)) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Invité CityHunter87 Posté(e) le 10 février 2011 Posté(e) le 10 février 2011 Je te remercie une nouvelle fois Gile. Tu as résolu mon problème. Tu m'auras beaucoup aidé ces derniers temps !
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant