saluuuuuuuuuuut
j'ai un probleme quand je compare un chiffre existe dans une case de StringGrid et l'autre dans un ComboBox par exemple quand je tombe dans 2 et 11 me met que 2 et superieur que 11 .comment je résoudre ce probleme SVP.MERCI d'avance
saluuuuuuuuuuut
j'ai un probleme quand je compare un chiffre existe dans une case de StringGrid et l'autre dans un ComboBox par exemple quand je tombe dans 2 et 11 me met que 2 et superieur que 11 .comment je résoudre ce probleme SVP.MERCI d'avance
C'est simplement que ton test n'est pas bon...
Poste ici le code de ton test pour qu'on puisse t'aider...
C'est parce que tu compare des chaine de caractère, il faut les convertir en int avant de les comparer
la fonction est StrToInt(...);
Baxter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 AnsiString asString = "456"; int iVal; iVal = StrToInt(asString);
Petite précision pour StrToInt() ou StrToFloat(), la conversion des chiffre a virguel est defois aléatoire. StrToDouble() fonctionne mieu. pourquoi ... je sais pas vraiment.
salut .merci
j'ai utilisé ce code
mon probleme maintenant que la form4->StringGrid5->Cells[2][i] contient des donné sous forme d'intervalle exemple [2,8]et je veut tester si la valeur de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int e,f; String chaine1,chaine2; {chaine1= Form2->ComboBox2->Text; chaine2= Form4->StringGrid5->Cells[2][i]; e=StrToInt(chaine1); f= StrToInt(chaine2); {if(e > f) {Form3->Visible=true; } }}
Form2->ComboBox2->Text elle n'est pas entre [2,8] la form3 s'affiche
merci d'avance pour votre aide
D'un cas général,pour tester si x est dans l'intervalle [a,b],on peut effectuer le test suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if ((x>=a) && (x<=b)) // && représente le ET logique { }
merci beaucoup pour votre aide!!
Bojour tout le mode
j'ai un autre probleme j'ai utilisé ce code
ca marché mais dans par exemple j'ai [10,15] ça marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 {String chaine1,chaine;char M1,M2;int a,b,e; {chaine1= Form4->ComboBox1->Text; e=StrToInt(chaine1); chaine= Form4->StringGrid6->Cells[2][1]; M1=chaine[2]; a=StrToInt(M1); M2= chaine[4]; b=StrToInt(M2); {if(e >= a&& e<= b) {Form6->Visible=true;} else {Form3->Visible=true;} }
merci d'avance pour votre aide
L'erreur vient des deux ligne suivante :
car tu ne récupère qu'un seul caractère et donc ca ne fonctionne qu'avec des nombres à 1 chiffre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 M1=chaine[2]; M2= chaine[4];
Pour le faire correctement il faut que tu utilise SubString et Pos :
(Le code est fait de tête et peut comporter des erreurs)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 M1=chaine.SubString(chaine.Pos("[")+1,chaine.Pos(",")-1); M2= chaine.SubString(chaine.Pos(",")+1,chaine.Pos("]")-1);
ça marche pas!!!!!!!!
j'ai remarqué que ce code il prend aussi la vergule et le crochet.
merci d'avance pour votre aide.
Effectivement et pour deux raisons, tout d'abord, M1 et M2 sont déclaré en char alors qu'il faudrait les déclarer en String et ensuite mon code n'est pas tout a fait bon, il faut utiliser celui-ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 M1=chaine.SubString(chaine.Pos("[")+1,(chaine.Pos(",")-chaine.Pos("["))-1); M2= chaine.SubString(chaine.Pos(",")+1,(chaine.Pos("]")-chaine.Pos(","))-1);
merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiii beaucoup pottier ca marche bien
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager