Aller au contenu

DenisHen

Membres
  • Compteur de contenus

    4 029
  • Inscription

  • Dernière visite

  • Jours gagnés

    21

Tout ce qui a été posté par DenisHen

  1. J'ai cru comprendre que seuls les (vlax-create-object, (vlax-get-object, (vlax-get-or-create-object, (vlax-import-type-library et (vla-GetInterfaceObject ne fonctionnaient pas. Puis-je en déduire que les (vlax-ldata- fonctionnent ? Je connais des proprios fidèles à LT, il devraient se jeter sur la 2024. Je vous confirmerais dès que j'ai l'info...
  2. Je me posais la même question pour les (vlax-ldata-...
  3. Bonjour à la communauté. Mille mercis Ô Décapode ! ! Très intéressant ! ! ! Et ça tombe bien, je suis sur une foule de Lisp en ce moment, et les "LT" m'ont longtemps "bloquées"... Mais je doute du retour à AutoDesk pour ceux qui l'ont quittés, parfois depuis plusieurs années, juste pour le chargement de quelques Lisp. Je suis d'accord avec @didier, il va il y avoir plus de version "LT" et juste une "FULL" pour le Cad Manager...... Bien à toi la communauté. Denis...
  4. Salut @Flobott et merci pour ton aide. Effectivement, il n'y a presque pas d'aide en ligne là-dessus. Mais il me semble que "vertical_margin" ne fonctionne pas partout. Comme dans ce genre de cas, par exemple : : radio_row { : text {label = "Style d'ouvrant :";vertical_margin = none;alignment = left;} : radio_button {label = "Fenêtre";key = "OuvFen";width = 13;} : radio_button {label = "Porte";key = "OuvPor";width = 13;} } Merci encore. Denis...
  5. DenisHen

    Nouveau Site Perso

    Coucou @didier. Oui, da-code est revenu ! ! ! Encore mille mercis pour ce site, d'une aide précieuse...
  6. DenisHen

    Mode CLASSIQUE ou RUBAN

    Bonjour à la communauté. J'utilise encore plus le ruban depuis ma dernière intervention (octobre 2019) car j'ai trouvé de supers DVB qui gère les menus du ruban sur GitHub. Et du coup, je fais mes onglets beaucoup plus facilement.
  7. DenisHen

    Lisps de gile

    Coucou @Luna et merci pour ton aide. Je n'avais pas saisi le (cdr. Et pourtant, je crois que je l'avais dans un coin du cerveau. Effectivement, c'est la liste à partir du deuxième élément et non le deuxième élément. Même s'il n'y a que deux élément dans le liste... Encore merci à toi. Denis...
  8. Chalut @Luna et merci de tes précisions. Pour le (princ) en fin (ou rien) de fonction, j'ai bien pigé le truc, j'avais fais quelques petits tests.😉 Je suis en plein travail de "développement" (un bien grand mot pour les petites fonctions de mon petit niveau) en ce moment et je vais fortement m'intéresser à *error", car il est aussi important de savoir pourquoi ça plante, que de réattribuer les valeurs aux variables qu'on a modifiées telles qu'elles étaient avant.👍 Bisous, Denis.
  9. Oops, désolé @Olivier Eckmann, c'est que je lisais un autre poste de Luna justement... Oui, j'ai adopté cette méthode pour ce code, mais n'étant pas habitué, c'était un peu "brouillon"... Je fais toujours mes fenêtres à la main avant de les faire sur VBA ou DCL, maintenant, ce sera aussi les codes. Encore merci à vous deux.
  10. Bonjour à toutes et à tous, et mille mercis pour votre aide ! @Olivier Eckmann : un grand merci pour ce "pré-code", je n'avais pas fait pareil. @(gile): c'est exactement ce que je cherche à faire. Encore merci à vous tous, je m'y colle ce matin. Denis...
  11. Oops, "Erreur profonde de mes sens abusés" (de M. Pierre Dac il me semble). J'avais choisi breakAt, mais je vais faire comme tu me dis, en plus, j'ai tes fonctions sous le nez.... Encre merci à toi...
  12. En fait, je suis maintenant sur ce type de code, que j'ai tout écris avec mes petits doigts... (defun DeplElemList (Liste Old New / LstNew) ;;; Test en colsole : ;;; (setq Liste (list "Lundi" "Mardi" "Jeudi" "Mercredi" "Vendredi" "Samedi" "Dimanche")) ;;; (DeplElemList MaListe 4 3) (princ "\nTest de déplacement d'un élément dans une liste.") (if (or (<= (length Liste) Old) (<= (length Liste) New)) (progn (princ "\nValeur(s) (Old ou New) fausse(s)") (exit)) ) ;_if (setq LstNew (list)) (if (< Old new) (progn (setq LstNew (gc:breakAt New Liste)) (setq LstNew (append (car LstNew) (list (nth New Liste)) (cdr LstNew))) (setq LstNew (gc:breakAt (+ New 1) LstNew)) (setq LstNew (append (car LstNew) (cadr LstNew))) ) ;_ _progn (progn (setq LstNew (gc:breakAt New Liste)) (setq LstNew (append (gc:butLast (car LstNew)) (list (nth New Liste)) (cdr LstNew))) (setq LstNew (gc:breakAt (- New 1) LstNew)) (setq LstNew (append (car LstNew) (cdr LstNew))) ) ;_ _progn ) ;_ _if (princ) ) ;_ _defun Mais je maitrise encore très mal les listes, et ce n'est pas le manque de volonté ! ! ! J'y arriverais, j'y suis presque, et je ne vais pas craquer à trois mètres du bol de sangria tout de même...
  13. Merci pour ton aide (gile). Je le prend aussi comme un challenge. Et je le ferais ! ! ! Non de non ! ! ! Avec un peu d'aide, mais pas avec un copier/coller. Encore merci, je regarde dubitatif tes codes... J'avoue ne pas bien comprendre ce que sont les variables x, l, o, n... Je comprend mieux le mode impératif.
  14. Au vu des innombrables essais sans résultat, j'ai changé mon fusil d'épaule et me suis dis : Mais, pourquoi ne pas utiliser les super fonctions de Maître (gile), hein ? Alors j'ai tenté des trucs, mais je me bute à mon ignorance en liste. J'ai donc une petite question sur les Lisp de (gile). Je reviendrais poster mes résultats, s'il sont bons, évidement 😉.
  15. DenisHen

    Lisps de gile

    Bonjour à la communauté. J'ai un petit souci avec les listes, qui m'intéressent de plus en plus, mais je m'énerve dessus aussi... J'ai fais ça dans le console : _$ (setq Liste (list "Lundi" "Mardi" "Jeudi" "Mercredi" "Vendredi" "Samedi" "Dimanche")) ; C'est ma liste d'origine ("Lundi" "Mardi" "Jeudi" "Mercredi" "Vendredi" "Samedi" "Dimanche") ; Super fonction de (gile) qui sépare en deux une liste à un point donné (ici à 3) _$ (setq LstNew (gc:breakAt 3 Liste)) ; Je comprend le résultat, deux sous-listes dans une liste (("Lundi" "Mardi" "Jeudi") ("Mercredi" "Vendredi" "Samedi" "Dimanche")) _$ (car LstNew) ; Première sous-liste ("Lundi" "Mardi" "Jeudi") ; Ok, c'est une liste ; Deuxième sous-liste _$ (cdr LstNew) (("Mercredi" "Vendredi" "Samedi" "Dimanche")) ; Pourquoi c'est une liste dans une liste ? ? ? _$
  16. Coucou, j'ai écris un code interminable qui, bien sur, ne fonctionne pas encore.😪 Certain sourirons à la vu de ce code, car ils savent déjà le faire en trois ou quatre lignes à coup de (mapcar et de (lambda... (defun c:TestList (/ MaListe) (setq MaListe (list "Lundi" "Mardi" "Jeudi" "Mercredi" "Vendredi" "Samedi" "Dimanche")) (princ (DeplElemList MaListe 3 2)) (princ) ) ;_ _defun (defun DeplElemList (Liste Old New / ElemOld ElemNew NewList Pos) (princ "\nTest de déplacement d'un élément dans une liste.") (if (or (<= (length Liste) Old) (<= (length Liste) New)) (progn (princ "\nUne des deux position est fausse") (exit)) ) ;_ _if (setq ElemOld (nth Old Liste)) (setq ElemNew (nth New Liste)) (setq NewList (list)) (setq Pos 0) (while (<= Pos (length Liste)) (cond ((= Pos New) (setq NewList (append NewListe (list ElemNew))) (setq Pos 1+)) ((= Pos Old) (setq Liste (cdr Liste))) (T (setq NewListe (append NewListe (list (car Liste)))) (setq Liste (cdr Liste)) (setq Pos 1+)) ) ;_ _cond ) ;_ _foreach ) ;_ _defun Le code est tellement "simple" aux yeux de certains qu'il sauront tout de suite me donner les bons conseils, seule raison de cette publication.😉 Je "dubite" beaucoup sur le choix du (while, J'ai la curieuse sensation de me noyer dans un verre d'eau, à moitié vide...
  17. Oui, je l'ai écris à la mano sur mon joli petit calepin. Je suis passé au code... Je cherche comment remplacé un élément dans une liste selon sa position (et non sa valeur) dans l'aide en ligne. Car je ne veux pas utiliser (subst au cas ou il y ai plusieurs élément de même valeur. Merci.
  18. Salut Olivier et un grand merci pour ton aide. J'y vais, mais c'est pô gagné...
  19. Bonjour à la communauté. J'ai cherché dans mes tutos et mes Lisp téléchargés, mais je n'ai rien trouvé. Sauf si je n'ai pas lu avec attention 😢. J'ai vu (vl-remove, je pense que c'est une idée à creuser, ou (permute (dans "Introduction à AutoLisp"), qui serait je pense le plus approprié. J'aimerais faire une petite fonction qui déplacerait un élément d'une liste à l'intérieur de cette liste, exemple : (setq MaListe (list "Lundi" "Mercredi" "Mardi" "Jeudi" "Vendredi" "Samedi" "Dimanche")) Et la fonction ressemblerait à ça : (defun DeplElemList (List Old New /) ;; Liste = liste contenant les éléments ;; Old = ancien emplacement de l'élément à déplacer ;; New = nouvel emplacement de l'élément ;; C'est là que je ne sais pas comment faire pour être efficace <-- ) Et on appellera la fonction : (setq NouvList (DeplElemList 2 1)) Mon problème principal est si j'ai ça (déplacer l'élément de plusieurs positions) : (setq NouvList (DeplElemList 4 2)) Je n'arrive pas à écrire la fonction... Quelqu'un aurait une idée ? Denis...
  20. Effectivement, je m'en souviens, mais je n'avais pas saisi son ampleur à l'époque (il y a 6 mois). J'ai bien pigé maintenant avec ta démonstration plus haut. Encore merci.
  21. Parfait, merci à toi (gile).
  22. Je l'avais bien lu, mais je ne pensais pas que juste un "1" pouvais "passer"... Je pensais plus à un (princ 1) en fait. Encore merci à toi pour toutes ces explications.
  23. Super vidéo (gile), peux-tu me dire avec quoi tu l'as faite s'il te plaît ? J'aimerais bien en faire autant, pour mes démos...
  24. Wouaouw ! ! ! Alors là, je ne m'en serais jamais douté, qu'on pouvait déclarer des fonctions ! ! ! Je viens d'apprendre plusieurs choses : je pensais que seules les fonctions avec un "c:" devant (ou gc: par exemple) pouvaient être lancées dans AutoCAD, maintenant, je sais qu'entre parenthèses c'est faisable, j'étais persuadé que (defun f1 () (alert "f1") 1) planterait à cause du "1" en fin. Mais non... Ca remplace le (princ) qu'on place toujours en dernier ? et le coup des variables (comme "CaDepend" vu plus haut). Un super grand merci à toi ! ! Denis...
  25. Désolé @didier, je pensais le problème résolu... clique droit sur le répertoire AutoCAD 2023 dans C:/Program Files/Autodesk, puis aller dans "Propriétés" (en bas), onglet "Sécurité" (le troisième normalement), tu tombes sur la fenêtre de l'exemple de (gile), tu choisis dans "Nom de groupes ou d'utilisateur (ListBox du haut), tu définis les droits dans "Autirosation pour..." (ListBox du bas), appliquer, ok. Je pense que je n'ai rien oublié.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité