Aleck_Ultimate Posté(e) le 10 octobre 2018 Posté(e) le 10 octobre 2018 Bonjour à tous. Je me suis arraché les cheveux un bon moment avant de comprendre l'origine du problème. Avec le code : (initget "Parent Numero_dossier Etudes test_4 test_5") ;_ Choix de l'utilisateur (setq chn_setq_getkword (getkword "Quel dossier ouvrire ? [Parent/Numero_dossier/Etudes/test_4/test_5]"))Si je choisis "Parent" il me retourne "dossier" Si je choisis "Numero_dossier" il me retourne "Etudes" Si je choisis "Etudes" "Test_4" ou "Test_5" il me retourne une erreur si j'ai DYNMODE désactivé et "nil" si j'ai DYNMODE activé. Par contre avec le même code sans les tirets bas. (initget "Parent Numerodossier Etudes test4 test5") ;_ Choix de l'utilisateur (setq chn_setq_getkword (getkword "Quel dossier ouvrir ? [Parent/Numerodossier/Etudes/test4/test5]"))Tout marche normalement. Je comprend pas pourquoi les tirets bas font tout buger. C'est normal ? Corrigible ? Explicable ? Si c'est une contrainte tant-pis, mais je trouve que ça fait quand-même pas un outil très pratique alors que certains commande natives d'AutoCAD comportent même des espaces dans les noms de leurs options. Merci. Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux. Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage ! Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;]) Utilisateur d'AutoCAD 2021 sous Windows 10
Fraid Posté(e) le 10 octobre 2018 Posté(e) le 10 octobre 2018 Bonjour, A tu essayer avec un "\" devant ton "_" ? https://github.com/Fraiddd
Aleck_Ultimate Posté(e) le 10 octobre 2018 Auteur Posté(e) le 10 octobre 2018 A tu essayer avec un "\" devant ton "_" ? Effectivement non, mais le retour est le même chose avec ou sans "\". Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux. Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage ! Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;]) Utilisateur d'AutoCAD 2021 sous Windows 10
bonuscad Posté(e) le 10 octobre 2018 Posté(e) le 10 octobre 2018 Bonjour,(initget) utilisé avec (getkword) a une syntaxe particulière permettant l'internationalisation du lisp. En effet si on fait:(initget "Bonjour Aurevoir _Hello Byebye")(getkword "\nJe dis [bonjour/Aurevoir]?: ")Si l'on renseigne "b", "B" (au minimum: la lettre ou les lettre en Majuscule définie-s) ou "bonjour" "Hello" est retourné.Si l'on renseigne "_h", "_H" ou plus, "Hello" est aussi retourné.Donc si initget rencontre un underscore dans ses paramètres, il considère que les mots suivants ( en nombre équivalent) sont en langue international et retournera ceux-ci et non ceux défini en Français. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
(gile) Posté(e) le 10 octobre 2018 Posté(e) le 10 octobre 2018 Salut, Pour ajouter à ce qu'a dit bonuscad, dans le initget, on ne met que les "mots clé" à savoir un seul mot par "mot clé"; mais dans l'invite, on peut mettre des espaces et/ou des tirets bas. La valeur retournée par getkword est le "mot clé"D'autre part, si on ne spécifie pas le bit 1 dans le initget (pour refuser que l'utilisateur fasse Entrée), il est préférable de spécifier une option par défaut. (initget "Parent Numero Etudes 4 5") (setq chn_setq_getkword (getkword "\nQuel dossier ouvrir [Parent/Numero dossier/Etudes/test 4/test 5] <Parent>: ")) (cond ((= chn_setq_getkword "Numero") (alert "Numero") ) ((= chn_setq_getkword "Etudes") (alert "Etudes") ) ((= chn_setq_getkword "4") (alert "4") ) ((= chn_setq_getkword "5") (alert "5") ) (T (alert "Parent")) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Aleck_Ultimate Posté(e) le 11 octobre 2018 Auteur Posté(e) le 11 octobre 2018 Merci beaucoup. Comme quoi vaut mieux un qui sait (en l'occurrence deux) que moi qui cherche pendant des heures Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux. Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage ! Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;]) Utilisateur d'AutoCAD 2021 sous Windows 10
lecrabe Posté(e) le 11 octobre 2018 Posté(e) le 11 octobre 2018 HelloWaouh les 2 Vieux Grands Maitres Jedi (du Lisp/VLisp) Gilles et Brunoont pris sous leur ailes le Jeune Padawan Aleck !!Bye, lecrabe Autodesk Expert Elite Team
DenisHen Posté(e) le 24 août 2022 Posté(e) le 24 août 2022 Le 10/10/2018 à 14:19, (gile) a dit : Pour ajouter à ce qu'a dit bonuscad, dans le initget, on ne met que les "mots clé" à savoir un seul mot par "mot clé"; mais dans l'invite, on peut mettre des espaces et/ou des tirets bas. La valeur retournée par getkword est le "mot clé" Cela signifie qu'on peut avoir un (initget de ce type ? (initget "1 2 3") (setq Choix (getkword "\nChoix de l'option [1-Ajouter/2-Modifier/3-Supprimer] : ")) 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 24 août 2022 Posté(e) le 24 août 2022 Bonjour @DenisHen Oui, mais il ne faut pas laisser les majuscules en début de mots pour ne pas tromper l'utilisateur au moment de la saisie. Amicalement Éternel débutant… Mon site perso : Programmer dans AutoCAD
DenisHen Posté(e) le 24 août 2022 Posté(e) le 24 août 2022 Merci @didierpour ta réponse. Parfait, ça va me faciliter la vie cette astuce. 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)
(gile) Posté(e) le 25 août 2022 Posté(e) le 25 août 2022 Le 24/08/2022 à 08:58, DenisHen a dit : Cela signifie qu'on peut avoir un (initget de ce type ? (initget "1 2 3") (setq Choix (getkword "\nChoix de l'option [1-Ajouter/2-Modifier/3-Supprimer] : ")) Pour avoir rapidement une réponse à ce genre de question, il suffit de tester. La console Visual LISP est ta meilleure amie. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 25 août 2022 Posté(e) le 25 août 2022 Bonjour @(gile) et merci pour ton conseil. Je ne pense jamais à tester le code dans la console, mais tu as raison, elle est notre amie. 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)
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