-
Compteur de contenus
4 029 -
Inscription
-
Dernière visite
-
Jours gagnés
21
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par DenisHen
-
[Challenge] Petite idée pour un codage/décodage Vigenère
DenisHen a posté un sujet dans LISP et Visual LISP
Bonjour à la communauté. Je suis tombé par hazard sur le codage Vigenère dans Wikipédia et j'ai tout de suite pensé à un petit chalenge pour les membres du Lisp/VLisp. Le but est simple, grace à une seule commande, coder ou décoder une chaine. Exemple : ;;Codage (setq ChaineACoder (Vigenere "C" Chaine$)) ;;Décodage (setq ChaineDecodee (Vigenere "D" Chaine$)) Je pense aux 255 caractères usuels (sauf les 32 premiers, qui ne sont pas réellement des caractères). Le résultat du codage pourra se faire avec une ou deux clefs. Amusez-vous bien, si vous le désirez... Bien à toi, la communauté. Denis... -
MapCar et Lambda, j'essai, mais j'ai du mal...
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Salut @(gile) et merci pour tes explications. C'est génial, je commence à comprendre, mais c'est un code hyper concis, je ne pense pas pouvoir recréer un code aussi "parfait", mais je pense comprendre. Il va me falloir encore du temps pour refaire un truc pareil. Encore merci à toi. Denis... -
MapCar et Lambda, j'essai, mais j'ai du mal...
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Bonjour @(gile)et merci pour tes explications. Je comprends mieux pourquoi je n'y arrivais pas. Du coup, j'ai écrit ça : (setq ListLect '("C:\\" "D:\\" "O:\\" "Z:\\") ListChemin '("_OpaleCAD" "_OpaleCAD\\_OpaleGestion" "_OpaleCAD\\Bloc" "_OpaleCAD\\Cartouche" "_OpaleCAD\\Excel" "_OpaleCAD\\Hach" "_OpaleCAD\\Icones" "_OpaleCAD\\Lisp" "_OpaleCAD\\Menu" "_OpaleCAD\\Support" "_OpaleCAD\\VBA" ) ListComplet (list) ) ;_ Fin de setq (foreach Lect ListLect ;boucle sur les lecteurs (foreach Chemin ListChemin ;boucle sur les chemins (setq ListComplet (append ListComplet (list (strcat Lect Chemin)))) ) ;_ Fin de foreach ) ;_ Fin de foreach J'ai trouvé plus judicieux l'utilisation de (foreach. -
MapCar et Lambda, j'essai, mais j'ai du mal...
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
J'avais pensé au début à faire deux (while, l'un dans l'autre ou deux (repeat , mais je pensais que (mapcar et (lambda feraient le boulo. Mais tu as raison, c'est peut-être hors de ma portée. Je ferais ce que je saurais peut-être faire, sans faire appel à ce que je ne connais pas. -
MapCar et Lambda, j'essai, mais j'ai du mal...
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
En récursivité ? Si c'est ça, tu me surestimes... 😉 -
MapCar et Lambda, j'essai, mais j'ai du mal...
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Salut @(gile), merci pour ton aide. J'ai fais de petits exercices (grace à mon PDF de chevet : "introduction à AutoLisp" 😉 et au super site de @didier, j'ai aussi regardé les Lisp de LeeMac, mais là, je n'ai pas le niveau et des postes sur CadXP). J'avais réussi, il y a longtemps à faire un truc avec ces deux fonctions, mais je n'arrive plus à le retrouver. Que me conseils-tu ? -
Bonjour à la communauté. J'essai de progresser en Lisp, et donc, en listes, et je pense que les fonctions (mapcar et (lambda devrait m'être utiles dans mon cas. Mais je n'en sort pas. J'ai deux listes, une pour des "lecteurs" et une pour des "chemins", c'est pour faire des recherches dans nos DD. J'ai donc mes deux listes : (setq ListLect '("C:\\" "D:\\" "O:\\" "Z:\\") ListChemin '("_OpaleCAD" "_OpaleCAD\\_OpaleGestion" "_OpaleCAD\\Bloc" "_OpaleCAD\\Cartouche" "_OpaleCAD\\Excel" "_OpaleCAD\\Hach" "_OpaleCAD\\Icones" "_OpaleCAD\\Lisp" "_OpaleCAD\\Menu" "_OpaleCAD\\Support" "_OpaleCAD\\VBA" ) ) ;_ Fin de setq Et je pensais à un petit truc dans ce genre : (setq ListComplet (mapcar '(lambda (ListLect ListChemin) (strcat ListLect ListChemin)))) J'ai bien entendu essayé plusieurs "orthographes" de code... Mais rien, j'ai du mal à conjuguer ces deux super fonctions. Vous aurez devinés mon but, fouiller certaint répertoires (ListChemin, toujours les mêmes) dans différents lecteurs (ListLect tous différents)... La structure de ListChemin est la même pour tous nos postes, mais pas les lescteurs (réseaux, locaux, USB, DD...) tous différents selon les PC.
-
[Résolu] Comment créer un chemin "relatif"
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Mille mercis @(gile), je verrais ça demain, au boulot, avec la bonne arborescence... Encore merci à toi... -
[Résolu] Comment créer un chemin "relatif"
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Salut @(gile)et merci pour ton aide précieuse. Tu veux dire que le nombre de "..\" dépend de la longueur de [long] ? -
Bonjour à la communauté. J'ai un ensemble de répertoires toujours organisée de la même façon : Mon DWG est dans "D:\\[Long]\\_Test\\RepA1\\RepA2" et ma cible est dans "D:\\[Long]\\_Test\\RepB1\\RepB2" Sachant que [Long] est variable et toujours dans le même lecteur. Je tente de connaitre le chemin "relatif" d'accès à la cible. J'ai testé plusieurs "chemins" (ex "..\\RepB1\\\RepB2\\Liste De Plans.xlsx") mais sans succès. J'ai l'impression que ce sont les "\\" qui posent problèmes, ce qui m'étonne... Une idée, une astuce, je suis preneur... Bien à toi, la communauté.
-
Petit truc que je ne comprends pas avec (wcmatch.
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Tu m'aides, tu me rends service et tu t'excuses ? ? ? 😊 Tu n'as pas à t'excuser, c'est à moi de le faire, même avec mes piètres connaissances, j'aurais du le savoir... Encore merci à vous... -
Petit truc que je ne comprends pas avec (wcmatch.
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
ChaLuna. Je me suis apperçu plusieurs fois, au fil du temps, que je copiais bêtement les "FOO" dans mes Lisp. Et il interféraient entre eux (le dernier chargé avait raison 😉 ). Ce doit être pour cette raison que Maître (gile) et d'autres les personnalisent systématiquement. Encore merci à toi... -
Comment exécuter un lisp à la fermeture d'AutoCAD ?
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Bonjour à vous et merci pour votre aide. Je m'explique, car je m'aperçois que je n'en ai pas dis beaucoup. J'ai trouvé le moyen de copier une arborescence d'un lecteur (ex:réseau) vers un autre (ex:local), merci Lee Mac. J'ai des collègues qui ont des PC portables et parfois, ils travaillent chez eux (télétravail, déplacement...). Tous mes programmes (et beaucoup d'autres aussi) se trouvent sur le réseau, auquel ils n'ont pas accès ailleurs qu'au bureau. Donc, j'aimerais faire cette copie lors de la fermeture d'AutoCAD quand ils sont sur le réseau (c'est facile, (findfile sur un fichier réseau qui existe). A moins de trouver une autre solution (backup, synchronisation...), le fait d'automatiser le bidule à la fermeture d'AutoCAD leur évitera d'y penser (je les connais, ils n'y penseront presque jamais). Je vais exploiter le code de @(gile) et voir ce que je peut en faire. Encore merci à vous... -
Bonjour à la communauté. Je pense que le titre parle de lui-même. Je cherche à exécuter un petit Lisp lorsque l'on ferme (quitte) AutoCAD.
-
Je ne comprends pas, chez moi, si le calque est inactif, mon exemple active ce calque...
-
Petit truc que je ne comprends pas avec (wcmatch.
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Sa"lu-na" (Hi hi hi) Que dire, Wouaouw ! ! ! Encore un grand merci à toi, J'apprends plein de trucs... J'ai cherché à mettre en défaut ton FOO (pourquoi toujours "FOO", ça vient d'Eric Raymond ?), mais rien à dire... Merci encore à toi, et Miaou à tout le monde... -
Salut @Zugzwang Je te propose une petite ligne de commande : (command "-calque" "e" "---EPURES" "") Plusieurs choses, cette ligne : - créé le calque s'il n'existe pas, - le rends courant, - le rends visible (et probablement de dégèle). Je n'ai pas AutoCAD sous la main, il faudrait vérifier...
-
Comment supprimer un fichier (.mnr) avant chargement ?
DenisHen a posté un sujet dans Débuter en LISP
Bonjour à la communauté. Voilà, j'ai lu quelque part (je ne sais plus quel site) que si on charge un fichier .mns, il est "converti" par AutoCAD en .mnr et c'est ce dernier qui sera chargé à chaque session. Ce chargement des .mnr ne tient apparement pas compte des changements du .mns. J'aimerais donc supprimer ce .mnr avant qu'il ne soit chargé, pour qu'AutoCAD charge systématiquement le .mns (cela prends 2 à 5 secondes). Mais je ne sais pas quand ces fichiers sont chargés, avant les chargement des Lisp (applications chargées au démarrage) ou après. Je pensait effacer ces fichiers .mnr au chargement des Lisp de démarrage. Mais je ne sais pas comment faire. Et je n'arrive pas à trouvé des informations là-dessus. -
Petite différence entre DCL et VBA.
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Mais OpenDCL n'était pas entièrement gratuit fut un temps ? -
Petit truc que je ne comprends pas avec (wcmatch.
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Salut @JPhil et merci pour ta proposition. Je n'ai pas tout compris, ça changera quoi à mon code. Si j'ai Val=-5, j'obtiendrais "-05", et si Val=3, j'obtiendrais "03", et si j'ai Val=12, j'obtiendrais "12". Mon code fonctionne comme ça, et surtout, je le comprends... Mais si tu as une autre proposition, pourquoi pas... -
Petit truc que je ne comprends pas avec (wcmatch.
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
En fait, après consultation du site @didier, j'ai fini par trouver, en plus, je format en deux caractères : (defun c:DH_test () (setq Val 20) (if (< Val 0) ;;Négatif (progn (setq Long (strlen (setq Val$ (rtos Val 2 0)))) ; (setq Val$ (strcat "-0" (substr Val$ 2 5))); ) ;_ Fin de progn ;;Positif (progn (if (< (strlen (rtos Val 2 0)) 2) (setq Val$ (strcat "0" (rtos Val 2 0))) (setq Val$ (rtos Val 2 0)) ) ;_ Fin de if ) ;_ Fin de progn ) ;_ Fin de if (princ Val$) (princ) ) ;_ Fin de defun Encore un grand merci à didier pour son site... -
Bonjour à la communauté. J'ai des nombres positifs et négatifs (-5, -3, 0, 3, 5...) mais pour créer un calque, j'ai besoin que le format soit "-05", "-03", "00", "03";.. J'ai donc fait un petit test dans la console, et j'obtient ça : _$ (rtos -2 2 0) "-2" _$ (wcmatch (rtos -2 2 0) "-") nil _$ (wcmatch (rtos -2 2 0) "2") nil _$ (wcmatch (rtos -2 2 0) "6") nil Je ne comprends pas le résultat. J'ai toujours la solution de demander si le nombre est négatif, je le multiplie par -1, et j'ajoute "-0" au début. Mais je ne trouve pas ça très... joli.
-
Petite différence entre DCL et VBA.
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Je profite de la judicieuse question de@didierpour en ajouter une : Que ce passe-t-il si on fait un .vlx ? Peut-on y ajouter les ODC via un plug-in quelconque d'OpenDCL ou ObjectDCL ? -
Petite différence entre DCL et VBA.
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Bonjour à toutes et à tous. Merci pour vos remarques. Comme le souligne@didier, il faut installer le bon module VBA sur les autres machines. Mais la procédure est très simple. @Tramber: pour les ARX d'OpenDCL ou ObjectDCL, peut-on juste les charger, sans installer les logiciels ? J'ai eu ma réponse ici, sur CadXP. -
LISP qui ouvre, selectionne tout , decompose, et enregistre sur plusieurs fichiers
DenisHen a répondu à un(e) sujet de dr.bim dans Débuter en LISP
+1 avec @La Lozère, SuperAutoScript fait des merveilles...
