Passer d'un double a un reel?

Résolu
calajoue Messages postés 36 Date d'inscription lundi 23 août 2004 Statut Membre Dernière intervention 19 avril 2005 - 12 oct. 2004 à 13:27
kmazri Messages postés 3 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 3 décembre 2009 - 22 févr. 2009 à 17:00
bonjour;
voici mon probleme,
j'ai besoing de travailler avec la valeur maximum ( x )d'une table1.
soit :

x:=table1.maxvalue; (qui est une variable double)

mais ma probleme c que j'ai besoind que x soit un "reel" et non pas un "doube" ?????

merci d'avance.

7 réponses

Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
13 oct. 2004 à 18:20
Le problème ne semble pas provenir du fait que tu es un Double et que tu le transtype en real.

Place un arrêt sur la ligne ou tu initialise s et regarde la valeur de table1x.minvalue. J'ai l'impression que tu récupères une valeur négative ou égal à zéro dans table1x.minvalue.

Bonne Prog, ;)

Olivier

PS : Lorsqu'une réponse vous convient, n'oubliez pas de la valider.
3
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
12 oct. 2004 à 14:51
salut calajoue,

Si x est une variable que tu déclares, pourquoi ne la déclares tu pas en tant que real ? même si la valeur que tu récupères dans table1.maxvalue est un double, delphi transtypera le résultat en real.

Bonne Prog, ;)

Olivier

PS : Lorsqu'une réponse vous convient, n'oubliez pas de la valider.
0
calajoue Messages postés 36 Date d'inscription lundi 23 août 2004 Statut Membre Dernière intervention 19 avril 2005
13 oct. 2004 à 17:45
salut ; voila j'ai fait ce que tu m'a dis:
var s,d:real
s:=0.31;
while s<10.45 do
begin
d:=0;
for i:=1 to spinedit1.Value do
begin
d:=d+x1[i]*power(log10(s),i-1);
end;
series1.AddXY(s,d);
s:=s+0.01;
end;
F9=execute parfetement

mais ici les valeur de s sont donner ,alors que normalement :
0.31 est table1x.minvalue;
10.45 est table1x.maxvalue;

cad :
var s,d:real
s:=table1x.minvalue;
while s<table1x.maxvalue do
begin
d:=0;
for i:=1 to spinedit1.Value do
begin
d:=d+x1[i]*power(log10(s),i-1); *
end;
series1.AddXY(s,d);
s:=s+0.01;
end;
F9=il m'afiche un message d'erreur "division vergule flotante" a la ligne *.
??????!!
0
calajoue Messages postés 36 Date d'inscription lundi 23 août 2004 Statut Membre Dernière intervention 19 avril 2005
13 oct. 2004 à 18:53
non je croix pas ;
dans l'example la valeur min de la table est 0.31!
en plus meme si je laisse que maxvalue dans le programme;
il me fait la meme ereur!!!
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
13 oct. 2004 à 20:23
que représente table1x ?

j'ai testé en initialisant un real par un double et cela ne plante pas.

la seul raison pour que tu es ce plantage est du à la fonction Log10 si elle à en paramètre une valeur négative ou égale à zéro.

Lorsque tu me dis que non je croix pas as tu vérifié la valeur de retour de table1x.minvalue et la valeur de s après l'initialisation ?

Bonne Prog, ;)

Olivier

PS : Lorsqu'une réponse vous convient, n'oubliez pas de la valider.
0
calajoue Messages postés 36 Date d'inscription lundi 23 août 2004 Statut Membre Dernière intervention 19 avril 2005
15 oct. 2004 à 17:38
salut oliveier;
la valeur max de ma table me renvoi toujour 0 que ce soit pour le min ou le max(je c pas pourquoi!
en tout cas j'ai fais une autre methoe ,je prend le max+min de la series graphique que represante les resultats de la table1.
merci
0
kmazri Messages postés 3 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 3 décembre 2009
22 févr. 2009 à 17:00
salut tout le monde  svp
j'au un Table Paradox

Champ         Propriete
Ref              Caracter
Nom            Caracter
Montant       $ 
Nombre        Numerique

je veu fair un filterage par Montant >= à  Tedit1  
je veu fair un filterage par Nombre >= à  Tedit2  
0
Rejoignez-nous