cs_Stephane33
Messages postés630Date d'inscriptionsamedi 15 février 2003StatutModérateurDernière intervention 9 octobre 20111 7 nov. 2007 à 09:58
For
i = 0
To
UBound(Tableau) >>>>>>>>>> Sous entend que les données sont déja chargée dans ton tableau
LigneSplit = Tableau(i).Split(Separateur) >>>>>>> A quoi sert cette ligne
If
txtEfface.Text <> Tableau(i).Split(Separateur)(0)
Then
MessageBox.Show(
"Point absent",
"Cogo iPaq",....
End If
et sinon
avec des données déjà chargées cela aussi devrait fonctionner
Dim flag as boolean = false
For i = 0 to Tableau.lenght - 1
If
txtEfface.Text = Tableau(i).Split(Separateur)(0) then
flag = true
exit for
endif
Next i
If Not Flag then msgbox("Point Absent",Cogo iPaq",.......
Baguauda
Messages postés219Date d'inscriptionmercredi 31 août 2005StatutMembreDernière intervention28 novembre 20081 7 nov. 2007 à 08:18
Si j'ai bien comprit ton problème
Dans ton code tu recherche la première ligne qui n'est pas dans ton tableau, alors que tu dois contrôler l'ensemble du tableau.
Je ne suis pas certain de la synthaxe vb mais ca devrais donner :
Dim found as boolean = false
For i = 0
To UBound(Tableau)
LigneSplit = Tableau(i).Split(Separateur)
If txtEfface.Text == Tableau(i).Split(Separateur)(0)
Then
found := true
End If
End For
if(!found)
Then
MessageBox.Show(
"Point absent",
"Cogo iPaq",....
Donc mon Tableau contient cette même information
Chaque ligne = Point CoordY CoordX Altitude Code
Donc je me concentre sur le premier caractère de chaque ligne
Soit : 11313, 11312 et 17119
Si l'utilisateur veut effacer le point 17119 mais par erreur il inscrit dans le textbox le chiffre 18119
Je veux avoir un messagebox me disant que le point est absent dans le fichier.
Avec ce code.. il est certain qu'il passera pas la condition même si l'utilisatuer entrent le bon point.
Exemple l'utilisateur entre le nombre 18119
Absent deveint à True
Si l'utilisateur inscrit 17119 et bien Absent sera = à True car les deux premieres lignes du tableau ne contiennt pas la valeur 17119
Comprenez-vous ????
Merci de votre aide
Bye
For j = 0
To Tableau.Length - 1
If txtEfface.Text <> Tableau(j).Split(Separateur)(0)
Then
Absent =
True
Exit
For
End
If
Next j
cs_Stephane33
Messages postés630Date d'inscriptionsamedi 15 février 2003StatutModérateurDernière intervention 9 octobre 20111 7 nov. 2007 à 14:32
Vi comme dit Baguauda, le flag par défaut est négatif
dans la boucle for, si on trouve la valeur, alors le flag passe à true et on sort de la boucle pour gagner du temps.
Après la boucle soit flag est à false ("If not flag" équivaut à If Flag =False) alors message spécifiant l'absence du point soit il est à true et pas de message
Le savoir n'est que le filtre de l'experience