Passer d'un double a un reel? [Résolu]

calajoue 36 Messages postés lundi 23 août 2004Date d'inscription 19 avril 2005 Dernière intervention - 12 oct. 2004 à 13:27 - Dernière réponse : kmazri 3 Messages postés jeudi 12 mars 2009Date d'inscription 3 décembre 2009 Dernière intervention
- 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.
Afficher la suite 

7 réponses

Répondre au sujet
Loulibier 323 Messages postés jeudi 6 juin 2002Date d'inscription 24 septembre 2008 Dernière intervention - 13 oct. 2004 à 18:20
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Loulibier
Loulibier 323 Messages postés jeudi 6 juin 2002Date d'inscription 24 septembre 2008 Dernière intervention - 12 oct. 2004 à 14:51
0
Utile
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.
Commenter la réponse de Loulibier
calajoue 36 Messages postés lundi 23 août 2004Date d'inscription 19 avril 2005 Dernière intervention - 13 oct. 2004 à 17:45
0
Utile
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 *.
??????!!
Commenter la réponse de calajoue
calajoue 36 Messages postés lundi 23 août 2004Date d'inscription 19 avril 2005 Dernière intervention - 13 oct. 2004 à 18:53
0
Utile
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
Commenter la réponse de calajoue
Loulibier 323 Messages postés jeudi 6 juin 2002Date d'inscription 24 septembre 2008 Dernière intervention - 13 oct. 2004 à 20:23
0
Utile
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.
Commenter la réponse de Loulibier
calajoue 36 Messages postés lundi 23 août 2004Date d'inscription 19 avril 2005 Dernière intervention - 15 oct. 2004 à 17:38
0
Utile
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
Commenter la réponse de calajoue
kmazri 3 Messages postés jeudi 12 mars 2009Date d'inscription 3 décembre 2009 Dernière intervention - 22 févr. 2009 à 17:00
0
Utile
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  
Commenter la réponse de kmazri

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.