Resolution d'equation genre : 2*(3*5+9*pi)/2+3^6

Soyez le premier à donner votre avis sur cette source.

Vue 4 465 fois - Téléchargée 458 fois

Description

C'est fastidieux et pas très fiable de faire de l'analyse syntaxique, même si certain font des trucs pas mal : http://www.vbfrance.com/article.asp?Val=1193

Le mieux et de laisser faire ça au gestionnaire de base de données de µsoft (même si c'est pas fait pour ça).

Le fichier Dual.dat doit toujours exister, même si vous ne vous en servez pas pour stoker des constantes.

Source / Exemple :


zip...

Conclusion :


Dans mon prog la zone de txt du haut est un espèce d'historique.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
13
Ben là, tu m'en bouches un coin.
Je pensais bien connaître SQL (Oracle, Sql Server,...) mais il est vrai que les bases de données, pour moi, ne sont que des récipients de données qu'on interroge avec SQL via ODBC ou autre et que j'ai plus l'habitude d'Oracle, dBase, Access, Informix.
Maintenant que tu le dis, ça me fait penser à une conversion d'une table en fichier texte ou à un fichier utilisé pour des mailings sous Word.
J'ai la honte de ne pas y avoir pensé avant !!!

Cordialement
Messages postés
29
Date d'inscription
mercredi 1 août 2001
Statut
Membre
Dernière intervention
9 décembre 2005

Si tu connais les base de données et le SQL, ce code est évident.

Le fichier dual.dat simule une table de base de données. Il doit contenir 2 lignes, la premiere est le nom des 'constantes', la deuxieme est la valeur. Il doit y avoit au moins une colone pour que la 'table' retourne une réponse.

Non, je ne bosse pas pour bill, je suis a mon compte.
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
13
<Olilefou>
C un peu ce que je pensais aussi.

De toute, c quand même très bien. Ca évite de se casser le chou pour des expressions mathématiques de base.

Par ex, avec ton code, pas de problème avec le "bégaiement" de la barre d'espace. J'ai vu ici-même des codes qui plantaient si on faisait 2+ 5 (avec 2 espaces entre + et 5) ou avec -(-2+(-1)), sans parler de la gestion des parenthèses et priorités. Je m'étais aussi lancé dans un évaluateur en VB il y a un moment et je sais que c une prise de tête, en C/C++ c'est un peu + simple.

Pour finir, j'ai 2 questions :
- Le fichier dual.dat, je sais qu'on peut changer le nom, du moment qu'on le change dans le code aussi. On peut même le recréer avec le notepad. Mais son contenu doit apparemment rester le même. Ne pourrait-on pas y rajouter des lignes ou les modifier pour résoudre un peu plus d'expressions ? En fait, ce qui m'intrigue c comment ça peut fonctionner et si c'est vraiment portable ! Scuses, suis pas très balaise en µsoft.
- Tu bosses chez µsoft pour connaître ce truc ?

Cordialement
Messages postés
29
Date d'inscription
mercredi 1 août 2001
Statut
Membre
Dernière intervention
9 décembre 2005

Normal, c'est des opérations sur les octets et pas sur les bits,
3=true, 1=true, donc 3 or 1 = true, true=-1, donc 3 or 1 = -1

Il y a quelques autres petites restrictions par rapport au VB (ex: Replace ne passe pas).
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
13
<Olilefou>
exemples :

3 or 1 = -1 au lieu de 3
3 xor 1 = 0 au lieu de 2
3 and 2 = -1 au lieu de 2
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.