ahoule Posté(e) le 14 octobre 2009 Posté(e) le 14 octobre 2009 Bonjour, J'ai un petit problème avec une commande autolisp ...je débute en cette programmation, et j'ai commencé un mini script .. le voici (defun prefix_suffix (str / POS1) (setq POS1 (vl-string-search ":" str)) (substr str 1 POS1) (strcat "1" (substr str 1 POS1)) ;"2" (substr str (+ 2 POS1) (+ 9 POS1)) ;"3" (substr str (+ 3 POS1) 0))) avec cela je voulais exemple (prefix_suffix "test un:test deux:test trois")je voulais que ca retourne 1test un2test deux3test trois ... ceci ne fonctionne pas .. je ne suis pas capable de faire un strlen de la valeur suivant le premier : alors .. mais a vrai dire je cherche plus quelque chose dans ce genreje ne sais pas si on peut lui appliquer une valeur supplémentaire exemple ... (prefix_suffix 0 "test1:test2:test3") retourne 3 .. le nombre de ":" retrouvé(prefix_suffix 2 "test1:test2:test3") retourne test2 en fonction du nombre de ":" mais ceci dit va etre changer par (chr 32) éventuellementcar je veux qu'il puisse retourner exemple .. Arc: 12,37 m .. 1 = Arc: / 2 = 12,37 / 3 = m merci d'avance, Alex !
didier Posté(e) le 14 octobre 2009 Posté(e) le 14 octobre 2009 coucou désolé pas compris !!!! amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
ahoule Posté(e) le 14 octobre 2009 Auteur Posté(e) le 14 octobre 2009 autrement dit, je cherche à décomposer une valeur grâce à un caractère spécifique. exemple: le caractère serait "_"alors (function "test_nom_alex")si je peux adapter une autre valeur qui serait numérique .. exemple (function 0 "test_nom_alex") alors je pourrait dire à 0 de retourner le nombre de "_" trouvé et créer une boucle en fonction du nombre trouvé .. exemple (function 0 "test_nom_alex") = 2(function 1 "test_nom_alex") = test(function 2 "test_nom_alex") = nom(function 3 "test_nom_alex") = alex est-ce plus claire ?
ElpanovEvgeniy Posté(e) le 14 octobre 2009 Posté(e) le 14 octobre 2009 >ahoule Il est plus confortable d'utiliser : (function "_" "test_nom_alex") =>> '("test" "nom" "alex") (function " " "test nom alex") =>> '("test" "nom" "alex") Evgeniy
ahoule Posté(e) le 14 octobre 2009 Auteur Posté(e) le 14 octobre 2009 je cherche justement à décomposer et non composer avec un strcat .. ce n'est du tout ce que je recherche c'est plutôt j'ai ma valeur qui est .. Arc: 2,67 mètres et je veux pouvoir séparé chacun de ces valeurs ... Valeur numérique 1 retourner Arc: ... 2 retourne 2,67 et 3 retourne mètres ... et de pouvoir compter le nombre de caractère qui se retrouve dans ce cas si c'est (chr 32) et il en compterais 2 merci amicalement, Alex
(gile) Posté(e) le 14 octobre 2009 Posté(e) le 14 octobre 2009 Salut, Regarde les fonctions vl-string-subst ou vl-string-translate ou encore, les fonctions str2lst et lst2str Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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