DenisHen Posté(e) le 18 mars 2016 Posté(e) le 18 mars 2016 Bonjour à tous. Voilà, j'ai un petit problème en ce moment avec un (vlax-ldata-get J'ai écrit ça :(setq Calq (vlax-ldata-get "DenisH" "CalqCour" "")) J'aimerais savoir si ma variable "Calq" est bien égale à "" si rien n'est déjà attribué au vlax. Mais si le (vlax est déjà égale à nil ? Que ce passe-t-il ? Je rame avec la console : _$ Calqnil_$ (vlax-ldata-get "DenisH" "CalqCour" "")"Électrique BT"_$ Su quelqu'un a une astuce ou une idée, je suis preneur... 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)
Tramber Posté(e) le 18 mars 2016 Posté(e) le 18 mars 2016 :blink: J'aimerais savoir si ma variable "Calq" est bien égale à "" si rien n'est déjà attribué au vlax. Je pense que oui. Je viens de tester.(setq Calq (vlax-ldata-get "DenisH" "CalqCour" ""))renvoie "" chez moi. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
DenisHen Posté(e) le 18 mars 2016 Auteur Posté(e) le 18 mars 2016 Merci Tramber pour ton aide... En fait, c'est "pire"... J'ai ça dans ma console :_$ Calqnil_$ (vlax-ldata-get "DenisH" "CalqCour" "")"Électrique BT"_$ (setq Calq (vlax-ldata-get "DenisH" "CalqCour" ""))"Électrique BT"_$ Calq"Électrique BT"_$ Et j'ai ça dans mon code : (setq Calq (vlax-ldata-get "DenisH" "CalqCour" "")) Je n'y comprend plus rien ! ! Sniff... 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)
Tramber Posté(e) le 18 mars 2016 Posté(e) le 18 mars 2016 Ben !?Tu sais balancer ton code dans AutoCAD depuis la zone d'édition du fichier ou pas ?Car je ne vois rien d'anormal. Juste que tu ne te sers que de la console. Ta console révèle que Calq est nul au début.Ensuite tu fais un setq et il acquiert une valeur. Où est le soucis ? Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
DenisHen Posté(e) le 18 mars 2016 Auteur Posté(e) le 18 mars 2016 Le souci c'est que mon code n'attibut pas "Électricité BT" à ma variable Calq alors que dans la console, ça le fait... Tu sais balancer ton code dans AutoCAD depuis la zone d'édition du fichier ou pas ?Ben non, t'as une idée en tête ? 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)
DenisHen Posté(e) le 18 mars 2016 Auteur Posté(e) le 18 mars 2016 Ben je ne sais pas pourquoi, mais j'ai l'impression qu'il n'y a plus de problème... Et je ne sais pas pourquoi... :huh: En fait, voici mon code complet :;;;Controle de l'échelle active et des variables pour les afficher dans la barre d'info***************************************** (defun c:DHechctrl (/ Charte Calq ang valeur ech) (setvar "cmdecho" 0) (setq valeur "D=$(rtos,$(getvar,distance)) / S=$(rtos,$(getvar,area))" ) ;_ Fin de setq (setq ang (vlax-ldata-get "DenisH" "AngSCU")) (if (>= ang 400) (vlax-ldata-put "DenisH" "AngSCU" (- ang 400)) ) ;_ Fin de if (if (= (setq ang (vlax-ldata-get "DenisH" "AngSCU")) nil) (vlax-ldata-put "DenisH" "AngSCU" 100) ) ;_ Fin de if (setq ang (vlax-ldata-get "DenisH" "AngSCU")) (if (or (= ang nil) (= ang 0)) (setq ang 0) ) ;_ Fin de if (if (= ang 0) (setq valeur (strcat valeur " / Non orienté")) (setq valeur (strcat valeur " / Orienté")) ) ;_ Fin de if (setq ech (vlax-ldata-get "DenisH" "Ech" 0)) (cond ((= ech 0) (setq valeur (strcat valeur " / Sans échelle "))) ((/= ech 0) (setq valeur (strcat valeur " / Échelle : " (rtos ech 2 0))) ) ) ;_ Fin de cond (setq valeur (strcat valeur " / " (vlax-ldata-get "DenisH" "Vers"))) (setq Charte (vlax-ldata-get "DenisH" "Charte" "")) (cond ((and (/= Charte "") (/= Charte nil)) (setq valeur (strcat valeur " / Charte : " Charte)) ) ) ;_ Fin de cond (setq Calq (vlax-ldata-get "DenisH" "CalqCour" ""));;;C'est ici que j'avais mon problème*********************** (cond ((and (/= Calq "") (/= Calq nil)) (setq valeur (strcat valeur " / Calque : " Calq)) ) ) ;_ Fin de cond (setvar "modemacro" valeur) (princ) ) ;_ Fin de defun En tous cas, merci de m'aider... 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)
Tramber Posté(e) le 18 mars 2016 Posté(e) le 18 mars 2016 CTRL+MAJ+E sur une sélection, dans l'édition de ton lisp, tu connais ?Je voudrais être certain.Et tu sais que, en ligne de commande d'autocad, il faut appeler !Calq ? Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
-Olivier- Posté(e) le 18 mars 2016 Posté(e) le 18 mars 2016 Bonjour DenisH, Le dernier argument ("") à la fin de ta fonction vlax-ldata-get n'a pas d'utilité. La fonction ne nécessite que 2 arguments. Je n'arriverais pas à être plus clair que (gile), donc, as-tu regardé ce sujet de (gile) à propos des ldata ? Au passage je le remercie encore une fois pour toutes ses explications très claires laissées sur le forum. Olivier
DenisHen Posté(e) le 21 mars 2016 Auteur Posté(e) le 21 mars 2016 @Tramber, je ne connaissais pas CTRL+MAJ+E... Très pratique... Le "!" aussi... @Olivier : sujet très intéressant bien qu'un peu complexe pour moi... Effectivement, le "" à la fin du vlax-ldata-get n'est pas utile... Merci à vous pour votre aide... 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)
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