Aller au contenu

Souligner un texte en cliquant dessus


Messages recommandés

Posté(e)

Bonjour Forum !

 

Je trouverais super pratique de disposer d’un LISP qui souligne directement un texte en cliquant dessus (appel du pied à peine déguisé à ceux qui sauraient l’écrire, moi pas).

 

Merci.

 

Posté(e)

Ben....

 

Je saurais écrire :

 

;**** SOULIGNER UN TEXTE MULTILIGNE EN CLIQUANT DESSUS

(defun c:tu () (ssget)

 

mais après, c'est pas l'angoisse de la page blanche, c'est juste le manque de compétence...!

Posté(e)

C’est vrai, mais je veux remplacer par une action en 1 clic toute la séquence :

- sélectionner un texte

- une fois dans l’éditeur : resélectionner le texte

- cliquer sur le bouton « souligner »

- cliquer sur le bouton « OK »

 

 

Posté(e)

Re,

 

Je pensais que tu parlais lors de la création du Mtext,...

 

Sinon, pour du texte dyn, j'utilise ce lisp de Jeffery P Sanders=>

 

;AU.lsp - Prefixes Selected Text With "%%u " and Subfixes With " ".
;
;Jeffery P Sanders
;
(defun C:AU()
(setvar "cmdecho" 0)
(if (setq en(car(entsel)))
 (progn
  (setq enlist(entget en))
  (if (= "TEXT" (cdr(assoc 0 enlist)))
    (progn
     (setq str(strcat "%%u "(cdr(assoc 1 enlist)) " "))
     (setq enlist(subst (cons 1 str)(assoc 1 enlist) enlist))
     (entmod enlist)
    )
    (setq ernote "Select Text Only Please.")
  )
 )
 (setq ernote "Nothing Selected.")
)
(setvar "cmdecho" 1)
(princ "\n \n ")
(princ ernote)
(princ "\n ......AU.lsp Complete. ")
(princ)
)

 

Peut-être moyen de l'adapter,...

Civil 3D 2025 - COVADIS_18.3b

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

Posté(e)

Caramba !

 

Merci à vous 2, mais...je ne sais pas comment on adapte (je ne trouve qu'une seule occurence de "%%u", je ne sais donc pas comment remplacer tantôt par "{\\\\L" tantôt par "}" ).

Posté(e)

Bonjour à toutes et tous,

 

Avec mes maigres connaissances, j'ai essayé ça sans succès,...

 


;Jeffery P Sanders Modifié par lili2006 pour gloub

;

(defun C:SMT()

(setvar "cmdecho" 0)

(if (setq en(car(entsel)))

 (progn

  (setq enlist(entget en))

  (if (= "MTEXTS" (cdr(assoc 0 enlist)))

    (progn

     (setq str(strcat "\\\\L"  (cdr(assoc 1 enlist)) " "))

     (setq enlist(subst (cons 1 str)(assoc 1 enlist) enlist))

     (entmod enlist)

    )

    (setq ernote "Select MText Only Please.")

  )

 )

 (setq ernote "Nothing Selected.")

)

(setvar "cmdecho" 1)

(princ "\n \n ")

(princ ernote)

(princ "\n ......SMT.lsp Complete. ")

(princ)

)

Civil 3D 2025 - COVADIS_18.3b

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

Posté(e)

Salut

 

J'ai essayé de faire quelque chose

 

(defun c:soul(/ ent pos txt)
 (while (setq ent (entsel))
   (setq ent (entget (car ent)))
   (and (member (cdr (assoc 0 ent)) '("TEXT" "MTEXT"))
     (progn
(setq txt (cdr (assoc 1 ent)))
(cond
  ((eq (cdr (assoc 0 ent)) "TEXT")
    (if (vl-string-search "%%U" (strcase txt))
      (progn
	(while (vl-string-search "%%U" txt)
	  (setq txt (vl-string-subst "" "%%U" txt))
	)
	(while (vl-string-search "%%u" txt)
	  (setq txt (vl-string-subst "" "%%u" txt))
	)
      )
      (setq txt (strcat "%%U" txt "%%U"))
    )
  )
  (T
    (if (vl-string-search "\\L" (strcase txt))
      (progn
	(while (setq pos (vl-string-search "{\\L" txt))
	  (setq txt (vl-string-subst "" "{\\L" txt)
		txt (vl-string-subst "" "}" txt pos)
	  )
	)
	(while (setq pos (vl-string-search "\\L" txt))
	  (setq txt (vl-string-subst "" "\\L" txt))
	)
	(while (setq pos (vl-string-search "\\l" txt))
	  (setq txt (vl-string-subst "" "\\l" txt))
	)
      )
      (progn
	(while (vl-string-search "{" txt)
	  (setq txt (vl-string-subst "" "{" txt))
	)
	(while (vl-string-search "}" txt)
	  (setq txt (vl-string-subst "" "}" txt))
	)
	(setq txt (strcat "{\\L" txt "}"))
      )
    )
  )
)
(setq ent (subst (cons 1 txt) (assoc 1 ent) ent))
(entmod ent)
     )
   )
 )
 (princ)
)

 

Nb : Si un texte est déjà souligné (même partiellement), le soulignement disparaît d'abord.

 

@+

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

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é