Conversion de types (single et string) [Delphi] - Delphi/Pascal - Programmation
Marsh Posté le 28-07-2008 à 20:04:14
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
Marsh Posté le 28-07-2008 à 20:22:56
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 !
Marsh Posté le 28-07-2008 à 20:29:54
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 !
Marsh Posté le 28-07-2008 à 20:47:34
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
Marsh Posté le 28-07-2008 à 21:14:29
Nethacker a écrit : l'initialisation de r5 ne peut être effectué ! |
méthode du gros goret 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...
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
Marsh Posté le 28-07-2008 à 21:17:39
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
Marsh Posté le 28-07-2008 à 21:18:51
Flagad'aware 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 !
Marsh Posté le 28-07-2008 à 21:19:11
tu parle, ça arrive toujours ce genre de fautes pis c'est galère à débugger des fois
Marsh Posté le 28-07-2008 à 21:21:30
Nethacker a écrit : |
yes, elle est déclarée mais pas initialisé alors elle a quand meme une valeur qui permet un espèce de calcul
Marsh Posté le 28-07-2008 à 19:20:17
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 !
merci d'avance !
Message édité par Nethacker le 28-07-2008 à 20:29:22
---------------
God is one, not 2 nor 3!