Aller au contenu

Incrementation Alphabétique ??


Lsp_SeBBoSs

Messages recommandés

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
Lien vers le commentaire
Partager sur d’autres sites

hello,

j'ai pas tout compris dans ton message,

à priori, tu veux INCREMENTER de l'ALPHABETIQUE

c'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 NUMERIQUE

que 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]

Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

re re hello,

il est à noter, qu'au vu de la signification de l'acronyme ASCII

American 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

 

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é