Lsp_SeBBoSs Posté(e) le 17 octobre 2004 Posté(e) le 17 octobre 2004 Bonjour, Voila je me suis mi à faire un peu de lisp. :cool:J'ai réussis à en faire un ptit qui incrémente des attributs du style liaison 1, liaison 2, liaison 3.Il me sert (servira) pour la création de connecteurs qui seront rajoutés dans une bibliothèque. Donc maintenant j'essaie de faire avec des lettres mais je vois pas trop comment faire, en tout cas avec la même technique que les attributs. En gros ça devrait faire ça:Demande de l'intervale de lettres (correspondant aux nom des pin out), ex: de B à T, ensuite je click aux endroit où je veux mettre ma lettre. Sur un autre logiciel je pouvais utiliser un interval du style [a:z], de a à z donc. Est ce possible sur lisp? j'ai pas trouvé en tout cas. Sur mon premier lisp je fais une boucle avec While puis j'incremente une variable à chaque tour, je suppose que c'est bien basique, mais avec alphabet je fais comment? Faut il que j'attribut un numero à chaque lettre de l'alphabet et qu'ensuite je déduise la lettre à chaque boucle? Y'aurait comme des vecteurs je serais pas paumé comme ça :o . Je met le premier lisp, au cas ou je me soit mal exprimé :)(defun incr (A B C D) (setq depart (getint "\n donner le départ pour l'incrémentation :")) (setq fin (getint "\n donner la fin pour l'incrémentation : "))(setq I depart)(if (< fin depart) (prompt "\n Fonction pour incrémenter et pas l'inverse!") ) (While (<= I fin) (if (= A 1) (progn (setq PT1 (getpoint (strcat "\n selectionner point pour attribut Liaison" (rtos I) " : " ) )) (command "-attdef" "" (strcat "LIAI" (rtos I)) (strcat "LIAISON " (rtos I)) "" "J" "M" PT1 5 0) ) ; progn ) ; if A (if (= B 1) (progn (setq PT2 (getpoint (strcat "\n selectionner point pour attribut FIL" (rtos I) " : " ) ) ) (command "-attdef" "" (strcat "FIL" (rtos I)) (strcat "FIL Numéro " (rtos I)) "" "J" "M" PT2 5 0) ) ; progn ) ; if B (if (= C 1) (progn (setq PT3 (getpoint (strcat "\n selectionner point pour attribut Mariage" (rtos I) " : " ) ) ) (command "-attdef" "" (strcat "MAR" (rtos I)) (strcat "Mariage Numéro " (rtos I)) "" "J" "M" PT3 5 0) ) ; progn ) ; if C (if (= D 1) (progn (setq PT4 (getpoint (strcat "\n selectionner point milieu pour numero pin-out " (rtos I) " : ") ) ) (command "-texte" "M" PT4 5 0 (rtos I)) ) ; progn ) ; if D (setq I (1+ I)) ) ; while ) http://membres.lycos.fr/lspsebboss/Standup%20rider.png
didier Posté(e) le 17 octobre 2004 Posté(e) le 17 octobre 2004 hello,j'ai pas tout compris dans ton message,à priori, tu veux INCREMENTER de l'ALPHABETIQUEc'est bien ça ?donc tu vas utiliser la syntaxe suivante :(setq LettreTempo 65)(setq LettreEcrite ( chr lettretempo))(setq LettreTempo (+ lettretempo 1))comme ça tu fais une boucle avec du NUMERIQUEque tu transformes via le CHR en ALPHABETIQUE.la correspondance est celle ci :(CHR 65) renvoie la lettre A (majuscule)(CHR 90) renvoie la lettre Z (majuscule)(CHR 97) renvoie la lettre a (majuscule)(CHR 122) renvoie la lettre z (majuscule) en espérant ne pas être Hors Sujet.amicalement [Edité le 17/10/2004 par didier] Éternel débutant... Mon site perso : Programmer dans AutoCAD
Lsp_SeBBoSs Posté(e) le 17 octobre 2004 Auteur Posté(e) le 17 octobre 2004 yeah thank U je venais juste de trouver cette fonction CHR!! En fait il me manque juste à faire le lien entre le getstring de l'user et cette numérotation du CHR, pour que je puisse faire mon intervalle Apparement c'est Read-char pour faire l'effet inverse du CHR. Me trompe je ? Bon j vais potassé ça! merci encore didier ;) http://membres.lycos.fr/lspsebboss/Standup%20rider.png
didier Posté(e) le 17 octobre 2004 Posté(e) le 17 octobre 2004 hello,ben oui tu te trompes,pour faire l'inverse de la commande CHRc'est ainsi :(ascii "A"). avoir voulu, avoir pas pu, amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Lsp_SeBBoSs Posté(e) le 17 octobre 2004 Auteur Posté(e) le 17 octobre 2004 rooh!! c'est ouf d'un seul coup ça me parait super logique ! ASCII! elle est chiante l'aide autodesk aussi c'est pas tout clair! <acronym class=dict title= le temps que tu me fais gagner là... j'partais pour rester la nuit sur Read-char :) ben ... merci didier. http://membres.lycos.fr/lspsebboss/Standup%20rider.png
didier Posté(e) le 17 octobre 2004 Posté(e) le 17 octobre 2004 re re hello,il est à noter, qu'au vu de la signification de l'acronyme ASCIIAmerican Standard Code for Information Interchange)c'est américain à l'origine, ça date des années soixante,donc pour avoir des accents, il faut taper dans l'ASCII étendu ... ciao Éternel débutant... Mon site perso : Programmer dans 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