Aller au contenu

Messages recommandés

Posté(e)

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 :

_$ Calq

nil

_$ (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)

Posté(e)

: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

 

./__\.
(.°=°.)
Posté(e)

Merci Tramber pour ton aide...

 

En fait, c'est "pire"... J'ai ça dans ma console :

_$ Calq

nil

_$ (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)

Posté(e)

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

 

./__\.
(.°=°.)
Posté(e)

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)

Posté(e)

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)

Posté(e)

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

 

./__\.
(.°=°.)
Posté(e)

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

Posté(e)

@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)

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é