Créer un mini éditeur de formule
Mick
Membre
Bonjour à tous,
Le contexte : je suis sur un projet de type "tableur-grapheur" pour la science. En gros, une partie du logiciel permet de saisir des valeurs, une autre de traiter celles-ci par des "fit" (=> Valider ou non un modèle), et une autre de tracer des représentations graphiques.
Le problème : j'aimerais ajouter au logiciel une fonctionnalité de calcul relatif aux valeurs entrées. Par exemple, si une grandeur est un courant, et qu'une autre est une résistance, l'utilisateur devrait pouvoir faire calculer pour chaque valeur de l'intensité la valeur de la tension correspondante. En tapant dans un textField : u=i*R, le logiciel devrait pouvoir créer une nouvelle grandeur u, et automatiquement calculer les valeurs R*i correspondantes.
Quelqu'un aurait-il une idée de la stratégie à adopter ? Je suppose qu'il va falloir exploiter les possibilités de NSText en examinant char par char la chaine de caractères ? Si quelqu'un aurait un exemple de code d'un tel examen...
Le contexte : je suis sur un projet de type "tableur-grapheur" pour la science. En gros, une partie du logiciel permet de saisir des valeurs, une autre de traiter celles-ci par des "fit" (=> Valider ou non un modèle), et une autre de tracer des représentations graphiques.
Le problème : j'aimerais ajouter au logiciel une fonctionnalité de calcul relatif aux valeurs entrées. Par exemple, si une grandeur est un courant, et qu'une autre est une résistance, l'utilisateur devrait pouvoir faire calculer pour chaque valeur de l'intensité la valeur de la tension correspondante. En tapant dans un textField : u=i*R, le logiciel devrait pouvoir créer une nouvelle grandeur u, et automatiquement calculer les valeurs R*i correspondantes.
Quelqu'un aurait-il une idée de la stratégie à adopter ? Je suppose qu'il va falloir exploiter les possibilités de NSText en examinant char par char la chaine de caractères ? Si quelqu'un aurait un exemple de code d'un tel examen...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
De plus si tu a U tu ne peu déterminé que R ou I sauf si tu monte un système
Une structure de données est en place par des NSMutableDictionary. Chaque variable créée par l'utilisateur est un dictionnaire comportant les pairs : @nom/NSString, @unite/NSString et @varID/NSNumber (int). U, I ou R sont donc les values correspondantes au keys @nom des variables. Il faut donc que mon controleur qui gère ce mini-éditeur puisse etre capable de tester si les variables existent, et etre capable de détecter un opérateur mathématique simple tel "*", "+" ou encore "sin(...)" ou "exp(...)"
Avez-vous une idée de la marche à suivre ?
si ca peut t'aider
http://apptree.net/parser.htm
je pense que c'est exactement ton besoin
Je m'en vais explorer cette classe. Merci beaucoup pour l'info.