Aller au contenu

Création d\'un compteur sous LISP problème


Messages recommandés

Invité pleche.damien
Posté(e)

Bonjour

 

Je n'arrive pas à creer un programme lisp qui créer un compteur

 

Exemple:

 

 

(defun c:compteur ()
(setq compteur 1)    ; création d'un compteur
(while "")                     ; tant que "" boucle recommence
(setq rep "+ compteur 1 ") ; attribue à la variable "rep" la valeur + compteur 1
(setq ptclic (getpoint " point d'insertion du chiffre") ; donne le point d'insertion du chiffre
(setq ptchiffre (polar ptclic 0 50)) ; place le chiffre a 50 cm du point ptchiffre
(command "texte" ptchiffre 4 0 compteur) ; insère grace à la command texte le texte du compteur au point ptchiffre 
(setq compteur ( + compteur 1)) 
) ; ferme la boucle while

 

J'ai donc besoin de compléments d'information, sachant que mon compteur doit être capable d'insérer un texte: (ici se sera des chiffres: 1 clic = chiffre + 1)

la condition pour que mon programme insére un compteur et qu'il faud au préalable cliquer sur un des boutons de ma barre d'outil.

 

(sachant que les bouton de la barre d'outil fond tous appelles à un nom de macro ^C^C_

 

MERCI POUR VOS REPONSES

Posté(e)
 

(defun c:compteur ()
(setq compteur 1)
(while ""      ;attention ne pas mettre de parenthèse fermante ici (elle est déjà en bas)
(setq rep "+ compteur 1 ")   ;tu ne t'en sert pas de cette variable?
(setq ptclic (getpoint " point d'insertion du chiffre")) ;il manquai une parenthèse fermante pour setq
(setq ptchiffre (polar ptclic 0 50))
(command "texte" ptchiffre 4 0 (rtos compteur 2 0)) ;il faut convertir ton nombre en texte avec rtos
(setq compteur ( + compteur 1)) 
) ; ferme la boucle while

Aide au téléchargement du cadastre dgfip-download-helper
Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0
Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js

Posté(e)

Attention, une boucle (while ...) ne s'arrête que quand la condition d'arrêt vaut nil, or "" (chaine vide) ne vaut pas nil.

(while "" ...) lancera immanquablement une boucle sans fin...

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

Invité pleche.damien
Posté(e)

Merci Vincent tas solution marche bien. Mais comment faire pour que mon programme marche des que l'on clic sur un bouton d'une barre d'outil (les boutons sont créer par moi même... ils correspondent à différent type d'acier)

 

C'est à dire que 1 clic sur un des boutons de la barre d'outil = insertion du texte

 

Merci également gile pour ton aide mais comme je débute en lisp j'aimerai savoir comment arrêter ma boucle...??? SACHANT que la condition d'arrêt de la boucle, s'effectue des que l'on sort de mon programme " defun c: fondation"

 

 

 

Merci à tout le monde

 

 

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é