Aller au contenu

[Résolu] Petit lisp qui fait correspondre une liste de calques


Messages recommandés

Posté(e)

Juste une petite question : si check_editreal vérifie que le valeur saisie est bien un réel, que renvoi Texte1$, un string ou un réel ?

Tu devrais pouvoir répondre par toi même à cette question soit directement en lisant le code que tu utilises ; soit en

plaçant un point d'arrêt dans l'éditeur Visual LISP pour interroger la variable.

 

Dans ce cas, la réponse est relativement évidente vu que Terry Miller (l'auteur de ces LISPs) utilise systématiquement des suffixes correspondant au type des variables ($ pour les chaînes, # pour les nombres, @ pour les listes, etc.).

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Bonjour (gile) et merci pour ton aide...

 

Effectivement, variable$ ne peut être qu'un string, en plus, je suis un peu c**, on fait de même en VBA... Par contre, je ne savais pas pour le @.

 

J'opte donc pour que cette variable soit toujours un string et je la convertirais lors des calculs...

 

Encore merci à vous...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

Méfiance quand même, cette méthode n'est pas fiable à 100% en LISP où les variables ne sont pas typées.

On peut très bien faire :

(setq text$ "toto")

puis

(setq text$ 42)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Merci (gile) pour cette précision... C'est vrai que ce n'est qu'une méthode et pas une "norme"...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

Pfff...

 

En testant mon code, je m'aperçois que Edit1$ ne peut pas être négatif car il est controlé par un check_editreal qui doit refuser le caractère "-" (moins)...

 

Quelqu'un aurait une astuce ou une solution ?

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

Salut

 

Logiquement en ajoutant le moins dans cette liste de la fonction check_editreal

(list "." "0" "1" "2" "3" "4" "5" "6" "7" "8" "9") --> (list "-" "." "0" "1" "2" "3" "4" "5" "6" "7" "8" "9")

 

@+

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

Posté(e)

Salut.

 

Mille mercis Patrick_35, j'ai eu du mal à trouver mais c'est bon, ça fonctionne impeccablement maintenant...

 

Tu avais raison, maintenant que je tripatouille aux DCL, j'en met un peu "partout". C'est vrai que c'est beaucoup plus convivial avec que sans...

 

Merci encore à vous tous...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

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é