MacroCalc
mpergand
Membre
Ouais encore une calculatrice ! pas très original ! désolé /smile.png' class='bbc_emoticon' alt=':)' />
En fait, je suis parti d'un parser d'expressions et comme ça marchait pas mal, j'ai voulu aller plus loin en y ajoutant des fonctions mathématiques, la gestion de variables et enfin un mini langage.
Pour voir à quoi ça ressemble c'est ICI
Pour télécharger l'appli c'est LA ( v1.0 beta 1)
En fait, je suis parti d'un parser d'expressions et comme ça marchait pas mal, j'ai voulu aller plus loin en y ajoutant des fonctions mathématiques, la gestion de variables et enfin un mini langage.
Pour voir à quoi ça ressemble c'est ICI
Pour télécharger l'appli c'est LA ( v1.0 beta 1)
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je la testerai en utilisation réelle à mon retour de vacances.
Mais déjà , je n'ai pas réussi à coller une opération, l'affichage du menu m'a paru erratique et je n'ai pas compris à quoi servent les flèches à droite de "float" et "integer".
Quelques exemples supplémentaires de programmes seraient les bienvenues.
Marci pour tes commentaires.
Oui, pour l'instant le paste est désactivé, ça fout le bazar !
Le textView qui me sert à simuler l'écran d'une calculatrice est bridé de partout et évidemment le comportement standard ne convient pas.
Si tu veux retrouver un affichage "standard", dans les préférences, coche l'option "Toujours afficher le menu de la calculatrice"
En fait, c'est le comportement d'un panel quand dans IB tu coches "Non activating panel".
(je vais mettre cette option par défaut, ça sera moins déroutant pour l'utilisateur)
Le but c'est que la fenêtre de la calculatrice se comporte comme une fenêtre auxiliaire, qu'elle semble faire partie de l'application active.
Alors à rien, c'est pour faire avancer le schmilimili /laugh.png' class='bbc_emoticon' alt='' />
Vu la pauvreté du langage, on ne peut guére faire plus que dans l'exemple du calcul de pitch ...
Dans l'immédiat, je me concentre sur le parseur.
Une ligne de programme consiste en: une instruction, puis une chaà®ne de caractères et/ou une expression.
On peut donc mettre une expression partout où c'est possible.
par ex: input a
on peut aussi écrire: input A=100
ce qui permet d'affecter une valeur par défaut à la variable A.
Ainsi, si tu tapes seulement <ENTER> à la saisie, la valeur de A sera 100.
Je viens d'ajouter la gestion des chaà®nes de caractères au parseur, avec conversion float <--> chaà®ne à la volée !
Ce qui permet de faire des choses du genre:
100+ "100h" donne 356.
"100"+100h donne "100256"
Je viens de m'apercevoir d'un plantage avec l'opérateur modulo:
100%0 boum !
et oui, division par zéro.
To be continued !
J'ai un bug bizarre avec mon pavé numérique USB branché sur mon MB Pro : si je tape un point (ou plusieurs) alors que j'ai un résultat affiché, le point (ou les) ne se met pas sur une nouvelle ligne à gauche mais à la suite du résultat précédent à droite et n'est pas pris en compte dans le calcul. Pourtant le bouton "." de l'appli. clignote bien quand je tape le point sur le pavé numérique. Si je commence à taper des chiffres, que je les efface et que je tape un point avec la pavé numérique, pas de problème mais là le curseur de texte est affiché avant de taper le point.
Avec le point du clavier du Mac pas de problème.
J'ai apprécié l'ajout du @ si on commence à taper un opérateur.
Par contre il serait utile d'avoir une touche @ ou ans sur l'appli.
Le rappel des opérations précédentes est bien.
Parfois le curseur de la souris tressaute ou clignote très rapidement lorsqu'il survole le "ruban".
Voilà mes premiers commentaires.
Bien vu ! C'est effectivement un bug.
Pourquoi pas, mais du coup je ne sais pas trop ou le mettre, y a plus de place ...
C'est le NSTextView en dessous qui fait du zèle, il faudra peut-être que je passe par une classe spéciale pour gérer le ruban.
Sinon cette appli a bien évoluée:
On peut choisir le point ou la virgule comme séparateur décimal
Pour la trigo on peut choisir le mode radian ou degré
J'ai ajouté des fonctions de traitement de chaà®nes de caractères
(on peut même afficher la date et l'heure /smile.png' class='bbc_emoticon' alt=':)' /> )
Et surtout elle possède un langage de programmation avec des vrais morceaux de BASIC dedans /laugh.png' class='bbc_emoticon' alt='' />
Je suis en train d'écrire la doc, j'en suis à plus de 30 pages et c'est pas fini !
Si tu es intéressé, je peux te donner un lien par MP pour la télécharger.