CadFrank Posté(e) le 22 avril 2012 Posté(e) le 22 avril 2012 Bonjour, j'ai un code et j'aimerais faire en sorte qu'une des mes expressions soit pris en concidération si cette expression equivaut la meme chose que la valeur donnée d'une autre expression. Voici le code : (defun c:grue ( / R-fleche N-tour) (vl-load-com) (initget 1 "170 210 290 550") (setq typ-Grue (getkword "\n Donner le type de grue : \n [170, 210, 290, 550] ")) (if (= typ-Grue 170) (progn (initget 1 "60m 54m 50m 44m 40m 34m 30m") (setq R-Fleche (getkword "\n Donner le rayon de la flèche : \n [60m, 54m, 50m, 44m, 40m, 34m, 30m] ")) ) (= typ-Grue 210) (progn (initget 1 "64m 60m 54m 50m 44m 40m 34m 30m") (setq R-Fleche (getkword "\n Donner le rayon de la flèche : \n [64m, 60m, 54m, 50m, 44m, 40m, 34m, 30m] ")) ) (= typ-Grue 290) (progn (initget 1 "74m 70m 64m 60m 54m 50m 44m 40m") (setq R-Fleche (getkword "\n Donner le rayon de la flèche : \n [74m, 70m, 64m, 60m, 54m, 50m, 44m, 40m] ")) ) (= typ-Grue 550) (progn (initget 1 "80m 74m 70m 64m 60m 50m 40m") (setq R-Fleche (getkword "\n Donner le rayon de la flèche : \n [80m, 74m, 70m, 64m, 60m, 50m, 40m] ")) ) ) ) (initget 1 "4 5 6 7 8 9 10 11") (setq N-tour (getkword "\n Donner le nombre de tour : ")) (Fleche) (Tour) (princ) );defun c Donc, pour compléter mon explication j'aimerais que par example si je repond a la premiere question 290 que lesetq R-fleche de celui-ci soit activé. Alors que j'ai déja essayé plusieur chose je ne sais pas ou je devrais regarder pour aller plus loin. Donc, c'est pour cela que je fais appel a votre aide. Salutation et merci d'avance.
usegomme Posté(e) le 22 avril 2012 Posté(e) le 22 avril 2012 Salut, il te faut utiliser COND et non pas IF et getkword retoune un mot et pas un nombre. (cond ((= typ-Grue "170") ....... Egalement faire attention aux parentheses, ce que tu mets en ligne ne colle pas. Et (vl-load-com) ne sert que pour l´utilisation de fonctions vlisp ce qui n´est pas le cas. Ceci est mal ecrit egalement(setq typ-Grue (getkword "\n Donner le type de grue : \n [170, 210, 290, 550] ")) (setq typ-Grue (getkword "\nDonner le type de grue [170/210/290/550]:")) Je pense que cela devrait te permettre de reprendre ton lisp, mais tu ne dois pas te fier a ta memoire, le code n´est pas de la prose.
CadFrank Posté(e) le 22 avril 2012 Auteur Posté(e) le 22 avril 2012 Bonjour usegomme, merci pour l'information donné Et (vl-load-com) ne sert que pour l´utilisation de fonctions vlisp ce qui n´est pas le cas. en ce qui concerne le (vl-load-com) c'est seulement parce que je n'est pas ecrit tout mon code donc p-e ici il ne sert a rien mais dans le reste oui. Merci !
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