Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1650 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] Conversion de types (single et string)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Delphi] Conversion de types (single et string)

n°1766065
Nethacker
rule televisions, rule minds
Posté le 28-07-2008 à 19:20:17  profilanswer
 

Salut,
J'ai un message d'erreur qui dit que la division par zéro de virgule flottante ! bref j'ai pas de zéro, j'ai placé ce showmessage pour traquer l'erreur, m75 égale à un nombre petit 1.37...E-38, très petit au point qu'il est impossible de diviser ! j'ai aussi un avertissement qui dit que la variable r1 n'est peut être pas initialisé !
je ne sais pas d'où ça vient, de la vitesse d'exécution ?

 

Voila la procédure en question !

  
Code :
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var m75,m25,p75,p25,f75,f25 : single ;
  3.     r1,r2,r3,r4,r5 : single;
  4. begin
  5. m75 := strtofloat(labelededit1.text);
  6. m25 := strtofloat(labelededit2.Text);
  7. p75 := strtofloat(labelededit4.Text);
  8. p25 := strtofloat(labelededit5.Text);
  9. f75 := strtofloat(labelededit7.Text);
  10. f25 := strtofloat(labelededit8.text);
  11. { m75 := single(labelededit1.text);
  12. m25 := single(labelededit2.Text);
  13. p75 := single(labelededit4.Text);
  14. p25 := single(labelededit5.Text);
  15. f75 := single(labelededit7.Text);
  16. f25 := single(labelededit8.text); }
  17. showmessage(floattostr(m75));
  18. r1 := 2*(m75*(75/100)+m25*(25/100));
  19. r2 := 2*(p75*(75/100)+p25*(25/100));
  20. r3 := 2*(f75*(75/100)+f25*(25/100));
  21. r4 := r1+r2+r3;
  22. r5 := r4/r5;
  23. labelededit3.Text := floattostr(r1);
  24. labelededit6.Text := floattostr(r2);
  25. labelededit9.Text := floattostr(r3);
  26. labelededit10.Text := floattostr(r4);
  27. labelededit11.Text := floattostr(r5);
  28. end;
 

merci d'avance !


Message édité par Nethacker le 28-07-2008 à 20:29:22

---------------
God is one, not 2 nor 3!
mood
Publicité
Posté le 28-07-2008 à 19:20:17  profilanswer
 

n°1766071
Flagad'awa​re
c pô moi, j'ai pas touché!
Posté le 28-07-2008 à 20:04:14  profilanswer
 

Salut,
 
je connais pas l'instruction single, pour moi c'est qu'un type,  mais pourquoi tu fais pas plutôt:
 
m75 := strtofloat(labelededit1.text);
 
ça parrait plus logique
 
à mon avis m75 := single(labelededit1.text); c'est foireux donc ça te donne un resultat aléatoire dans M75
 
après, peut être que le compilo te dis que R1 n'est pêtre pas initialisée du fait que la ligne m75 := single(labelededit1.text); n'est apas sencée initialiser proprement m75 et m25
 
c'est qu'un avis mais utilise plutôt strtofloat

n°1766078
Nethacker
rule televisions, rule minds
Posté le 28-07-2008 à 20:22:56  profilanswer
 

Salut,
Je ne sais pas si ce single() existe mais je croyais que ça marchait tout comme Pchar() ! je vais essayer strtofloat()

 

merci !

 

Edit :
essai ... showmessage m'affiche la valeur entrée ! ^^ merci bien
et toujours l'erreur division par zéro de virgule flottante, la ligne 16 devient rouge !
r5 := r4/r5;

 

Merci d'avance !


Message édité par Nethacker le 28-07-2008 à 20:31:13

---------------
God is one, not 2 nor 3!
n°1766079
Nethacker
rule televisions, rule minds
Posté le 28-07-2008 à 20:29:54  profilanswer
 

l'initialisation de r5 ne peut être effectué !

 

Edit: réglé en déclarant les variables en début et pas seulement pour la procédure !

Message cité 1 fois
Message édité par Nethacker le 28-07-2008 à 20:31:05

---------------
God is one, not 2 nor 3!
n°1766082
Nethacker
rule televisions, rule minds
Posté le 28-07-2008 à 20:47:34  profilanswer
 

J'ai ajouté un showmessage juste avant la ligne d'erreur et ça marche !
donc c'est dans la division je vais essayer de remplacer / par div !
XD


---------------
God is one, not 2 nor 3!
n°1766084
Flagad'awa​re
c pô moi, j'ai pas touché!
Posté le 28-07-2008 à 21:14:29  profilanswer
 

Nethacker a écrit :

l'initialisation de r5 ne peut être effectué !
 
Edit: réglé en déclarant les variables en début et pas seulement pour la procédure !


 
méthode du gros goret [:athlonxp2100+] je sais meme pas comment ça peut marcher  
 
j'avais pô vu...
 
r5 := r4/r5; -> bah ça peut pas aller, déja r5 n'est pas initilalisée et en plus tu recalcule ça valeur en la recalculant sur elle-meme n'étant pas init... :ange:  
 
je sais pas ce que tu compte faire mais ça sert à rien  :??:
 
en fait R5 ne sert à rien à moins que t'ai oublié un truc dans ce que tu as à faire
 
ReEdit: sinon div ça doit être mieux que / mais à confirmer

Message cité 1 fois
Message édité par Flagad'aware le 28-07-2008 à 21:17:39
n°1766086
Nethacker
rule televisions, rule minds
Posté le 28-07-2008 à 21:17:39  profilanswer
 

lol j'avais pas fait attention xD ! merci beaucoup en fait c'est r4/5 lol mais dit quel con je suis !
 
Merci bien xD


---------------
God is one, not 2 nor 3!
n°1766087
Nethacker
rule televisions, rule minds
Posté le 28-07-2008 à 21:18:51  profilanswer
 

Flagad'aware a écrit :


 
méthode du gros goret [:athlonxp2100+] je sais meme pas comment ça peut marcher  
 


 
les variables sont initialisés rapidement ! après tu calcules et tu fais des opérations il se peut que r5 la dernière avant les grosses opérations xD ! ne se déclare pas !
 
 


---------------
God is one, not 2 nor 3!
n°1766088
Flagad'awa​re
c pô moi, j'ai pas touché!
Posté le 28-07-2008 à 21:19:11  profilanswer
 

tu parle, ça arrive toujours ce genre de fautes pis c'est galère à débugger des fois  :D

n°1766089
Flagad'awa​re
c pô moi, j'ai pas touché!
Posté le 28-07-2008 à 21:21:30  profilanswer
 

Nethacker a écrit :


 
les variables sont initialisés rapidement ! après tu calcules et tu fais des opérations il se peut que r5 la dernière avant les grosses opérations xD ! ne se déclare pas !
 
 


 
yes, elle est déclarée mais pas initialisé alors elle a quand meme une valeur qui permet un espèce de calcul


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] Conversion de types (single et string)

 

Sujets relatifs
Erreur List<String[]> et validation du code dans une JSP ?Découper efficacement une String (parsage)(String.split,Tokenizer,etc)
Lancer une méthode javascript à partir d'un stringcomment convertir un StreamResult en String ?
[Réglé] ip:port en char traduire en decimal. master querysupprimer un élément de ma table de string
[Resolu]Delphi/Directx : Plus d'image en grande résolutionRécuperer types composites en MYSQL/PHP
[C] Probleme types de variables - Debutantconversion de matlab à scilab?
Plus de sujets relatifs à : [Delphi] Conversion de types (single et string)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR