Bonjour et merci de porter attention à mon message !
voici mon problème : je doit concevoir un calculatrice en graphique via Delphi
J'ai une condition bien spécifique a remplir :
-utiliser le même traitement pour récupérer les informations des touches que l'utilisateur a cliqué.
pour les numéros, aucun problème je récupère la valeur de cette manière :
Valeur.text := Valeur.text + (sender As Tbutton).caption;
cette partie fonctionne correctement j'ai donc voulu en faire autant pour les opérateur '+' '-' '*' et '/' !
et c'est a ce moment que le problème se pose :
Je récupère mon opérateur dans la variable "Ope" défini en string
et lors du traitement (sur le click du button "=") j'aimerai afin d'optimiser un maximum et d'éviter 4 si imbriqué, passer par un : Case ope of
mais vous le savez sans doute, le type de la variable de "ope" dans ce cas est plutôt restreint, j'ai donc voulu passer par une variable de plus que j'aurai donc appelé "rateur" (non non c'est pas une blague) qui aurait contenue un type Integer correspondant a la valeur ASCII de mon opérateur, plus concretement :
au click sur un des opérateurs :
ope := (sender As Tbutton).caption;
rateur := ord(ope)
et au click sur égal :
case rateur of
'42' : valeur.text := floattostr(val1*val2)
'43' : valeur.text := floattostr(val1+val2)
'45' : valeur.text := floattostr(val1-val2)
'47' : valeur.text := floattostr(val1/val2)
mais bien sur utiliser ord(X) sur un string ça ne fonctionne pas, il me faudrait réussir à convertir cet opérateur récupéré dans "ope" en Char et après moult essai je m'en remet a vous, j'ai pas mal cherché, je me suis pas mal emmêlé et j'aimerai y arriver (avec votre aide certes...)
merci d'avoir au moins lu est excusez les érreurs de syntax etc... en ésperant avoir été clair
Partager