[Delphi] Passer un string en fraction

Passer un string en fraction [Delphi] - Programmation

Marsh Posté le 04-10-2001 à 10:12:49    

Voilà, j'ai besoin d'utiliser une puissance defini par l'utilisateur dans un TEdit, mais (newbie) comment convertir cette valeur pour qu'elle soit utilisée avec Power ?
 
StrToInt fonctionne mais quand la puissance est 1/2 par exemple il est pas content !!
 
Comment faire ?


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
Reply

Marsh Posté le 04-10-2001 à 10:12:49   

Reply

Marsh Posté le 04-10-2001 à 10:53:41    

strtofloat

Reply

Marsh Posté le 04-10-2001 à 11:16:48    

C'est pas bon, dans le cas d'une puissance il faut que cela reste une fraction


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
Reply

Marsh Posté le 04-10-2001 à 11:35:04    

pourquoi ?????????
 
2^(1/2) = 2^(0.5)

Reply

Marsh Posté le 04-10-2001 à 11:42:42    

Ben il veux pas, il me fait pas d'erreur mais la puissance ne marche pas, elle reste = 1


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
Reply

Marsh Posté le 04-10-2001 à 11:44:01    

BlackSunSoft a écrit a écrit :

Ben il veux pas, il me fait pas d'erreur mais la puissance ne marche pas, elle reste = 1  




 
j'essaye vite fait !

Reply

Marsh Posté le 04-10-2001 à 11:54:28    

ouaip, ça marche pas si tu rentres  1/2 ds l'edit mais avec 0.5, c bon

Reply

Marsh Posté le 04-10-2001 à 11:56:50    

à la rigueur, tu peux créer une fonction qui filtre le contenu de ton edit, comme ça, si il y a un [/], tu peux gérer
 
ça me paraît bourrin comme idée mais bon

Reply

Marsh Posté le 04-10-2001 à 11:58:44    

strToFloat n'inteprète pas les équations (1/2 n'est pas un nombre mais une opération : 1 divisé par 2, alors que 0.5 est un nombre...)
faudrait trouver un truc qui donne le résultat d'une chaîne contenant un calcul (j'avais fait ça en C pour le + - / * y a longtemps)
à la limite tu recherches le '/' (fonction strPos par ex) dans le nombre, tu prends la partie qui est avant, et tu la divises par la partie qui est après.
ou alors tu cherches un composant dérivé du TEdit dans lequel on peut mettre des equations et qui te calcule le resultat, mais je crois que la solution de rechercher le '/' dans la chaine est mieux.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 04-10-2001 à 11:59:24    

zut j'ai pas posté assez vite ;)
 
je trouve pas ça bourrin comme système moi...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 04-10-2001 à 11:59:24   

Reply

Marsh Posté le 04-10-2001 à 12:01:09    

antp a écrit a écrit :

zut j'ai pas posté assez vite ;)
 
je trouve pas ça bourrin comme système moi...  




 
ben ton idée de trouver un composant dérivé du Tedit me paraît meilleur mais ya peut être pas ...

Reply

Marsh Posté le 04-10-2001 à 12:07:00    

Zavez pas un exemple pour un chti newbie ?


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
Reply

Marsh Posté le 04-10-2001 à 12:17:24    

trueslash a écrit a écrit :

 
 
ben ton idée de trouver un composant dérivé du Tedit me paraît meilleur mais ya peut être pas ...  




 
je trouve qu'utiliser un composant supplémentaire juste pour ce calcul avec un / me paraît lourd.
d'autant plus que si l'utilisateur endre 4+3 ça passera aussi et ça donnera 7 (si tout va bien :D)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 04-10-2001 à 12:52:36    

voici un truc qui fonctionne et qui renvoie 0.5 dans nombre si on met 1/2 dans le TEdit (edit1).

Code :
  1. var
  2.   chaine: string;
  3.   slash: integer;
  4.   nombre: double;
  5. begin
  6.   chaine := edit1.text;
  7.   slash := pos('/', chaine);
  8.   if slash = 0 then
  9.     nombre := strToFloat(edit1.text)
  10.   else begin
  11.     nombre := strToFloat(copy(chaine, 0, slash-1)) / strToFloat(copy(chaine, slash+1, length(chaine)));
  12.   end;
  13.   (...)
  14. end;


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 04-10-2001 à 13:13:37    

Merci !! Le deplhi est tres facile a apprendre mais c'est ce pb qui m'a bloqué !!


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
Reply

Marsh Posté le 04-10-2001 à 13:17:04    

tu fais une version Delphi de PowerDivx pour concurrencer BSPlayer ? :)

 

[edtdd]--Message édité par antp--[/edtdd]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 04-10-2001 à 13:36:55    

héhé, pour le moment non, je suis en train d'adapter MorphiX en Delph, mais qui sait, peut être PowerDivX !


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed