Aller au contenu

Petit problème avec (initget 4)


Messages recommandés

Posté(e)

Bonjour à la communauté...

 

Voilà, je fais un Lisp pour écrire les coordonnées d'un tampon (pour un plan topo) mais je n'arrive pas à demander à l'utilisateur les profondeurs des différents radiers, s'il y a lieu...

 

En gros, je demande à l'utilisateur un real OU rien

 

J'ai donc mon initget à 4...

 

Peut-être que le code vous éclairera :

  (setq ProfRad
        (getreal "\nEntrez la profondeur du radier principal (R=) : "
        ) ;_ Fin de getreal
 ) ;_ Fin de setq
 (princ "\nProfRad=") (princ ProfRad)
 (if (/= ProfRad 0)
   (setq Text (strcat Text "\\PR=" (rtos (- Alti ProfRad) 2 2))
 ) ;_ Fin de if

 ....

 

Mais si l'utilisateur ne rentre rien (c'est à dire s'il ne veux pas faire apparaitre le Z radier) ma boucle plante, AutoCAD me répond :

Entrez la profondeur du radier principal (R=) : 1

; erreur: type d'argument incorrect: stringp 1.0

 

J'ai testé plusieurs méthode mais rien n'y fait...

 

Si quelqu'un a une astuce ou un conseil, 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)

Salut,

 

Il faut apprendre à déchiffrer les messages d'erreur.

 

; erreur: type d'argument incorrect: numberp nil

 

numberp : signifie que l'expression attendait un nombre

nil : signifie qu'à la place du nombre c'est une variable à nil qui lui est passée.

 

Quand tu fais :

(setq ProfRad
        (getreal "\nEntrez la profondeur du radier principal (R=) : "
        ) ;_ Fin de getrea

et que l'utilisateur fait Enter au lieu de d'entrer un nombre, nil est attribué à la variable ProfRad.

 

Essaye comme ça :

(if
 (not
   (setq ProfRad
   (getreal "\nEntrez la profondeur du radier principal (R=) <0>: " )
   )
 )
  (setq Profrad 0.0)
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Bonjour (gile)

 

Mille merci, ça fonctionne nikel. Comme toujours après tes interventions... ;)

 

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é