Aller au contenu

Calculatrice


Bred

Messages recommandés

Salut,

Ci-dessous une petite ébauche de routine que je me suis fait rapidement pour un besoin ponctuel.

Ce n'est pas finaliser, pas propre... c'est vraiment un outil de travail brouillon.

 

C'est une calculatrice "à la volée".

 

Si vous lancez la commande "CALCULA", vous aurez un réacteur sur les commandes inconnues.

Cela permettant de faire lancer le code si vous tapez une opération au clavier genre 6.9+9.96, cela vous retourne le résultat en ligne de commande.

 

Je le post, on ne sait jamais si vous en avez l'utilité, si vous voulez l'améliorer...

Il n'y a pas de gestion d'erreur, pas de vérif, etc... c'est vraiment du brut.

Si vous avez des besoins en découlant, pas de problème pour vous aider... si j'ai le temps.

 

(defun c:CALCULA ()
 (setq Reac_CommandeInconnue (vlr-command-reactor nil '((:VLR-unknownCommand . testCALC))))
 )

(defun testCALC (r c)
 (if (numberp (distof (substr (car c) 1 1))) 
   (princ (Calcu (car c)))
   )
 (princ)
 )

(defun Calcu (nb / u s)
 (if (cond
((setq u (vl-string-search "+" nb)) (setq s +))
((setq u (vl-string-search "-" nb)) (setq s -))
((setq u (vl-string-search "*" nb)) (setq s *))
((setq u (vl-string-search "/" nb)) (setq s /))
(t nil)
)
   (eval
     (list s (distof (substr nb 1 u)) (distof (substr nb (+ u 2) (strlen nb)))))
   )
 )

(defun c:NOCALCULA ()
 (vlr-remove Reac_CommandeInconnue)
 )

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

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é