DenisHen Posté(e) le 26 juillet 2018 Posté(e) le 26 juillet 2018 Bonjour à tous. J'ai un petit problème de compréhension d'un (vlax-ldata-get. D'après ce que j'ai compris de l'aide en ligne, on peut proposer une valeur si la clef du dictionnaire n'existe pas. Mais je tombe sur ce problème, je ne récupère qu'un nil :_$ (vlax-ldata-get "DenisH" "EtiqPRD_OptionIns" "Automatiquement")nil_$ (setq def (vlax-ldata-get "DenisH" "EtiqPRD_OptionIns" "Automatiquement"))nil 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 26 juillet 2018 Posté(e) le 26 juillet 2018 Bonjour à tous. J'ai un petit problème de compréhension d'un (vlax-ldata-get. D'après ce que j'ai compris de l'aide en ligne, on peut proposer une valeur si la clef du dictionnaire n'existe pas. Mais je tombe sur ce problème, je ne récupère qu'un nil :Salut Ben oui, je ne vois pas où est le problème ? Par exemple(or (setq def (vlax-ldata-get "DenisH" "EtiqPRD_OptionIns"))(setq def "Automatiquement")) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
DenisHen Posté(e) le 26 juillet 2018 Auteur Posté(e) le 26 juillet 2018 Salut Patrick_35, et merci pour ta réponse. Normalement, si la clef du dictionnaire est vide, (vlax-ldata-get "DenisH" "EtiqPRD_OptionIns" "Automatiquement") devrait retourner "Automatiquement" et non nil... D'après ce que j'ai compris sur l'aide en ligne... En anglais... 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 26 juillet 2018 Posté(e) le 26 juillet 2018 Salut Patrick_35, et merci pour ta réponse. Normalement, si la clef du dictionnaire est vide, (vlax-ldata-get "DenisH" "EtiqPRD_OptionIns" "Automatiquement") devrait retourner "Automatiquement" et non nil... D'après ce que j'ai compris sur l'aide en ligne... En anglais...Oui, et c'est bien ce que me retourne Autocad d'après ton exemple. J'ai la bonne valeur.Je te proposais une solution alternative. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
DenisHen Posté(e) le 27 juillet 2018 Auteur Posté(e) le 27 juillet 2018 Salut. Merci pour ta proposition, je vais faire avec... Mais c'est tout de même curieux ce comportement de ce (vlax-ldata... Du coup, voici mon code : (if (= (setq def (vlax-ldata-get "DenisH" "EtiqPRD_OptionIns" "Automatiquement")) nil) (setq def "Automatiquement") ) ;_ Fin de if (initget "Automatiquement Manuellement Gauche Droite Non") (setq OptionIns (getkword (strcat "\nPlacement des textes [Automatiquement/Manuellement/Gauche/Droite/Non] <" def "> : ") ;_ Fin de strcat ) ;_ Fin de getkword ) ;_ Fin de setq (if (= OptionIns nil) (vlax-ldata-put "DenisH" "EtiqPRD_OptionIns" def) (vlax-ldata-put "DenisH" "EtiqPRD_OptionIns" OptionIns) ) ;_ Fin de if 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 27 juillet 2018 Posté(e) le 27 juillet 2018 Mais c'est tout de même curieux ce comportement de ce (vlax-ldata...Salut Oui. Je suis sur une 2017, c'est peut-être la différence.J'ai aussi découvert il y a peu une nouvelle fonction.(vla-postcommand (vla-get-activedocument (vlax-get-acad-object)) ...)Quid du command, command-s, vl-cmdf et maintenant vla-postcommand ps : tu n'as pas compris la subtilité du or ;) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
DenisHen Posté(e) le 27 juillet 2018 Auteur Posté(e) le 27 juillet 2018 Salut. Effectivement, je n'avais pas saisi cette astuce... Après quelques testes dans la console, je comprend mieux, et je l'ai intégré à mon code... Encore merci... 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