Utiliser une valeur inscrite dans un label

Signaler
Messages postés
27
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
11 novembre 2008
-
Messages postés
27
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
11 novembre 2008
-
Bonjour, j'ai un label dans lequel s'inscrit une valeur, je voudrais que si cette valeur est supérieur à telle valeur alors timer.enabled=true.
Ce qu'il me faut c'est juste savoir comment utiliser cette valeur ? merci d'avance a ceux qui répondront ;)

16 réponses

Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
strtoint(label1.Caption) ou label1 est le nom de ton label !
tu mets ca ds une variable ou tu teste directement genre
if (strtoint(label1.Caption))>valeur then timer.enabled=true.

Ciao
Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
oui bien sur je pense que ca marche que si dans ton label tu inscris des entiers  ( a mon sens puisque StrToInt)

Ciao
Messages postés
1725
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
11 avril 2021
8
Salut,

@ alex7532 :
"j'ai un label dans lequel s'inscrit une valeur"
C'est là que ça commence à nous intéresser : comment tu l'inscris, cette valeur ?

Donne-nous un bout de code, s'il-te-plait !
Messages postés
27
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
11 novembre 2008

ce n'est pas une valeur entiere qui s'inscrit dans le label mais admettons que dans le label j'ai 8.95245467221 et que je mettes if (strtoint(label1.Caption))>8 then timer.enabled=true. ça devrait marcher non ?

pour japee : LabValN.Caption:='Valeur de N : ' + inttostr(n);

Merci d'avoir répondu aussi vite !
Messages postés
27
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
11 novembre 2008

ça ne marche pas il me dit que je n'ai pas une valeur entiere dans le label. une solution ?
Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
var
i:extended;
begin
i:=strtofloat(label1.Caption);

if i>5.0 then showmessage('..');

ca ca marche MAIS j'ai ecris dans mon label ceci 5,78954 ( et pas 5.75854);
Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
<< LabValN.Caption:='Valeur de N : ' + inttostr(n); >>

C'est normal aussi que ca va raler si tu ecris du texte ! Puis pourquoi ne recupere tu pas tt simplement la valeur de n ?

Ciao
Messages postés
27
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
11 novembre 2008

Je n'y arrive pas, dans mon label j'ai un nombre a 16 chiffres apres la virgule.
J'ai écrit :
var
i:extended;
begin
i:=strtofloat(LabCdeC.Caption);
begin
   if i>5.0 then label1.color:=cllime;
end;
end;
Messages postés
27
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
11 novembre 2008

il me dit que le coefficient de correlation 0.1251435151 n'est pas une valeur en virgule flottante correcte
Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
il me dit que le coefficient de correlation 0.1251435151 n'est pas une valeur en virgule flottante correcte

Mais c 'est ce que j'ai mis plus haut il faut que tu arriva a mettre 0,1251435151
Messages postés
814
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
30 juillet 2009
3
salut,

const
 LIMIT = 8;

...

LabValN.Caption:='Valeur de N : ' + inttostr(n);
Timer.enabled := n > LIMIT

évite au maximum de "lire" l'affichage pour faire des calculs ou test. Utilise les variables originalles qui contienent la vrai valeur que tu veux tester.

PS: utilisant IntToStr, tu ne peux PAS avoir 8.952355 d'affiché.

A+

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
Cherchez pas compliqué quand c' est simples les gars!!!


Alors tu déclares ta variable en globale ou sous ta form dans la section public!
n: double;
ou
n: Extended;
selon les besoins!!!

Ensute tu as une constante (si tu veux) de même nature:
Const
Valeur = 1234656.233

Ensuite tu fais :
if n > Valeur
then timer.enabled=true;

A+
Messages postés
1725
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
11 avril 2021
8
Je dirais même plus :
Timer.Enabled := n > valeur;
Messages postés
27
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
11 novembre 2008

Merci pour vos réponses.
Je ne comprends pas bien ce que tu m'expliques mauricio est-ce quelqu'un peut détaillé ?
Est ce qu'il faut que je reparte du label ou directement de la source ? c'est a dire du calcul ?
Je suppose que c'est du calcul puisqu'on ne parle pas de label dans le code mais je ne vois pas comment ? et oui je débute ^^
Messages postés
27
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
11 novembre 2008

qu'est ce qui est faux dans cette ligne ?   if 0.8<r<1 then label1.color := clblue;
Messages postés
27
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
11 novembre 2008

En fait c'est bon j'ai mis tout simplement if r>0.7 et ça marche merci à vous de m'avoir bien aidé:)
Mais maintenant je cherche à utiliser l'impression comment faire est ce facile ?