Aller au contenu

Gérer la touche ECHAP


l56

Messages recommandés

oui, dans un lisp.

Mais si tu passes par *error", cela veut dire que la touche ECHAP à été enfoncé or moi je voudrais que la touche ECHAP sois ignoré, comme si elle n'avait jamais été touché, que l'utilisateur ne puisse pas interrompre le lisp

Lien vers le commentaire
Partager sur d’autres sites

Oui, donc avec ce que je t'ai donné comme première réponse.

 

exemple

(defun ferr(msg)
 (ma_fonction)
)

(setq err *error* *error* ferr)
(ma_fonction)
(setq *error* err)

ou

(while (not (vl-catch-all-error-p (vl-catch-all-apply (quote ma_fonction) (list arguments_ma_fonction)))))

 

Perso, je préfère vl-catch-all-apply

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Je ne comprends pas.

Imagine un morceaux de code du genre:

 

 (command "_line" "0,0" "1,1" pause "")

 

Bon, passons sur la qualité du code, je pourrais faire un getpoint avant et remplacer ma pause .....

 

Quand l'utilisateur du code en sera à "pause", il devra donc cliquer un dernier point et la commande ligne se terminera. Mais il pourra aussi appuyer sur la touche ECHAP, et c'est bien cela que je souhaite éviter pour que l'utilisateur n'est pas d'autre choix que de cliquer un point (ou valider.)

donc avant cette ligne de code, j'aimerai déactiver la touche ECHAP.

Est-ce possible ?

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir à toutes et tous,

 

Bonuscad m'avait proposé cette commande pour un script diaporama : ( Pour la pause [surligneur] (grread)[/surligneur])

 

  ;Commencer le diaporama, charger :
Affclich
PARKING-A1-1-200
[surligneur] (grread)[/surligneur]
Affclich
courbes-de-niveau
(grread)
Affclich
DETAIL1
(grread)
Affclich
DETAIL2
(grread)
Affclich
DETAIL3
(grread)
Rscript 

 

(Gile), en lisp avait proposé ça => (Pour info ou donner des idées,...!)

 

 (defun c:diaporama (/ lst)
(setq lst '("PARKING-A1-1-200.sld"
"courbes-de-niveau.sld"
"DETAIL1.sld"
"DETAIL2.sld"
"DETAIL3.sld"	    
)
)
(command "_.vslide" (car lst))
(while (progn (initget "p") (setq p (getpoint)))
(if (= "p" p)
(setq lst (cons (last lst) (reverse (cdr (reverse lst)))))
(setq lst (append (cdr lst) (list (car lst))))
)
(command "_.vslide" (car lst))
)
(redraw)
(princ)
) 

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Toute utilisation d'un command est particulier à traiter (un vl-cmdf est plus facile en vlisp).

Voici un exemple qui pose une question, et impossible de sortir avec echap, sauf en répondant quelque chose.

 

(while (or (vl-catch-all-error-p (setq rep (vl-catch-all-apply 'getstring (list "Une question : "))))(= rep "")))

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

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é