DenisHen Posté(e) le 31 mars 2018 Posté(e) le 31 mars 2018 Salut... Je suis en train de faire une suite de plusieurs modules Lisp (lotissement, copropriété, division...) gérés par un seul : TétraCAD (mon petit projet). Depuis ce dernier, je charge les Lisp utiles à l'utilisateur. Mais il se peut qu'il n'utilise qu'un seul module parmis les quatre que je développe. Ma question : comment savoir si un fichier .lsp existe avant le de le charger avec un (load ? Ce qui ressemble trait pour trait à un IsFileExiste en VBA... Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
didier Posté(e) le 31 mars 2018 Posté(e) le 31 mars 2018 Coucou Vois la fonction AUTOLOADJe viens de me rendre compte que je ne l'ai pas renseignée d'ailleurs, il va falloir y remédier. Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
DenisHen Posté(e) le 31 mars 2018 Auteur Posté(e) le 31 mars 2018 ReSalut didier. Je n'ai rien lu qui démontre si AutoLoad charge un fichier Lisp que si il existe. J'aimerais, dans mon Lisp, ne charger le fichier .lsp que s'il existe et surtout, vérifier s'il existe... Et AutoLoad n'est pas reconnu comme une commande dans l'IDE VisualLisp (elle reste en noir et pas en bleu)... Maître (gile), si tu me lis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Fraid Posté(e) le 31 mars 2018 Posté(e) le 31 mars 2018 yop tu n'est pas très clair si tu veux tester l’existence d'un fichier c'est findfile par exemple (if (findfile "chemin\\kk.lsp")..) https://github.com/Fraiddd
Fraid Posté(e) le 31 mars 2018 Posté(e) le 31 mars 2018 ou si tu te retrouve à charger 2 fois le meme lisp, cela n'a aucune importance. https://github.com/Fraiddd
didier Posté(e) le 1 avril 2018 Posté(e) le 1 avril 2018 Coucou Confirmation : FINDFILE Le mieux dans ton cas car tu parles de faire un "programme complet" du moins avec plein de mini-programmes c'est de mettre le tout dans un chemin reconnu, chemin de recherche du logiciel et de vérifier si ce chemin de recherche est bel et bien connu. Tu peux aussi voir ACADDOC.LSP Ou bien de le mettre dans une routine de lancement : (setq cheminDenisHEN "D:\\TetraCAD\\Routines\\")) Allez on s'y met ... Éternel débutant... Mon site perso : Programmer dans AutoCAD
Patrick_35 Posté(e) le 1 avril 2018 Posté(e) le 1 avril 2018 Salut Pour savoir si une fonction lisp est chargé en mémoire(eval ma_fonction)Par exemple avec le lisp CAT(if (eval c:cat) (alert "Lisp CAT déjà chargé")) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
(gile) Posté(e) le 1 avril 2018 Posté(e) le 1 avril 2018 Salut Pour savoir si une fonction lisp est chargé en mémoire(eval ma_fonction)Par exemple avec le lisp CAT(if (eval c:cat) (alert "Lisp CAT déjà chargé")) @+ Il me semble que eval est superfétatoire,(if c:cat (alert "Lisp CAT déjà chargé")) suffirait. Si on veut écrire quelque chose de plus explicite, la fonction boundp me semble plus indiquée :(if (boundp 'c:cat) (alert "Lisp CAT déjà chargé")) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 1 avril 2018 Auteur Posté(e) le 1 avril 2018 Salut à tous, et merci pour votre aide. J'ai pu faire ce code, pour chacun de mes modules, et ça à l'air de fonctionner à merveille...:(if (findfile "TC_Division.lsp") (load "TC_Division.lsp") ) ;_ Fin:if Encore merci à vous... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Patrick_35 Posté(e) le 1 avril 2018 Posté(e) le 1 avril 2018 Tu as raison (gile). J'avais oublié qu'on pouvait le faire directement. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
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