Si quelqu'un a une idée de comment résoudre ça.. Thanks.
Ps: si j'enlève varOperande01 = varRes, ca ne me fait plus ce problème
mais il m'est impossible d'effectuer plus de 2 opérations (11 + 11 = 22
et c'est fini..)
Fildomen
Messages postés805Date d'inscriptionjeudi 22 mai 2003StatutMembreDernière intervention30 octobre 2010 29 juil. 2005 à 14:19
ben c logique, fé comme ton pc
le premier clique sur 1
varOperande01 devient 1
le dexuième clique sur 1 (pour composer 11)
varOperande01 devient 11
le clique sur + (on efface le textebox sortie)
le troisième clique sur 1
varOperande02 devient 1 mais varOperande01 = 12 ( car tu aditionne)
le quatrième clique sur 1
varOperande02 devient 11 mais varOperande01 = 23 ( car tu aditionne)
Fildomen
Messages postés805Date d'inscriptionjeudi 22 mai 2003StatutMembreDernière intervention30 octobre 2010 31 juil. 2005 à 11:32
alors, tu peux remplacer
if (_Resultat == false)
par
if (!_Resultat)
tu peux enlever ca si tu ne l'utilise pas, de toutes facons le compilateur va l'effacer
default:
break;
pour les 0123456789, je donne 0 par exemple
tu peux remplacer ca
case "0":
if (_Operation == false)
{
Sortie.Text += "0";
_Operande01 = double.Parse(Sortie.Text);
}
else
{
if (_Efface == false)
{
Sortie.Text = "";
Sortie.Text += "0";
_Operande02 = double.Parse(Sortie.Text);
_Efface = true;
}
else
{
Sortie.Text += "0";
_Operande02 = double.Parse(Sortie.Text);
}
}
par
case "0":
if (_Operation == false)
{
Sortie.Text += "0";
_Operande01 = double.Parse(Sortie.Text);
}
else
{
if (_Efface == false)
{
Sortie.Text = "";
_Efface = true;
}
Sortie.Text += "0";
_Operande02 = double.Parse(Sortie.Text);
}
tu peux remplacer ca
case "=":
switch (_aOperateur)
{
case "+":
Addition();
_Operande02 = 0;
break;
case "-":
Soustraction();
_Operande02 = 0;
break;
case "*":
Multiplication();
_Operande02 = 0;
break;
case "/":
Division();
_Operande02 = 0;
break;
default:
break;
}
break;
par
case "=":
_Operande02 = 0;
switch (_aOperateur)
{
case "+":
Addition();
break;
case "-":
Soustraction();
break;
case "*":
Multiplication();
break;
case "/":
Division();
break;
}
break;
lache les copier coller
une tite remarque
Sortie.Text = "" + _Res;
mieux vaut l'ecrire comme
Sortie.Text = "" + _Res.ToString();
même si ca marche, dans d'autres convertions ca marchera pas, alors c pas difficile de faire un tit .ToString()
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 31 juil. 2005 à 16:23
Salut, y'a un petit bug dans la version que j'ai téléchargé ce midi, si on tape deux fois de suite égale après une division, c'est rien et en plus te prend pas la tête sur une calculatrice, il faut mieux programmer qlq'chose de plus sympa. Sinon tu peux écrire la fonction Numerique, comme ca:
J'ai rentré ce code et ça m'affiche 1 et 2 à chaque clique.. Or ce que
je voudrais c'est que ça affiche 1 lorsque je clique sur 1, 2 quand je
clique sur 2, etc...
Fildomen
Messages postés805Date d'inscriptionjeudi 22 mai 2003StatutMembreDernière intervention30 octobre 2010 29 juil. 2005 à 16:03
met attend, pkoi tu te complique la vie, utilise le Controle Microsoft script, par ex, tu lui donne (10 + 5 * 2 - 3 ), et il te réenvoi 17, c mieux nan???
Fildomen
Messages postés805Date d'inscriptionjeudi 22 mai 2003StatutMembreDernière intervention30 octobre 2010 29 juil. 2005 à 19:54
euh j'ai oulié de mentioner une chose, si tu met SC1.Eval("msgbox("eee")"), un messagebox s'affiche , alors laisse pas les utilisateurs tapé ce qu'ils veulent, les sin et cos marche aussi
Fildomen
Messages postés805Date d'inscriptionjeudi 22 mai 2003StatutMembreDernière intervention30 octobre 2010 30 juil. 2005 à 12:16
Pour faire comme ce control seul, je te conseille de voir de la partie de la notation polonaise, chercher des docs sur, ca facilite la tache,ca fé 2 ans que mon père m'a montré comment marche le truc mais j'ai oublié lool
cs_Machjaghjolu
Messages postés92Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention10 octobre 2005 30 juil. 2005 à 17:04
C'est encore moi, comment je peux faire pour que le résultat quand il
est négatif apparaisse et ne marque pas 0 ? (Je sais que ton script
permet d'éviter mais je parle avec la première méthode).