cs_niko14
Messages postés209Date d'inscriptionjeudi 12 janvier 2006StatutMembreDernière intervention10 octobre 2014
-
25 juil. 2007 à 12:00
cs_niko14
Messages postés209Date d'inscriptionjeudi 12 janvier 2006StatutMembreDernière intervention10 octobre 2014
-
25 juil. 2007 à 12:22
Bonjour tout le monde, eh oui c'est encore moi!!!
voila j'ai un petit probleme!!
je charge un tableau avec 41000 codes, oui rien que ca!!
ensuite j'ai fait une petite fonction qui est censé cherché si je code que je lui ai passé en paramètre est parmi tous les codes du tableaux!!
si oui il me dit sinon ......
mais le probleme c'est qu'à chaque code que je lui envoie il me dit que ce code existe pas alors que je fais les tests avec des codes existants!!!
pas de bol!!
je vous mets le code de ma fonction, peut etre qu'avec un regard extérieur vous verrez l'erreur que j'ai fait!!
merci
Private Sub ChercherCode(ByVal code As String, ByVal Tableau As List(Of String))
Dim SearchedCode As String
'Dim ActualCode As String
SearchedCode = code
Dim trouve As Boolean
trouve = False
MessageBox.Show(Tableau.Count.ToString())
For Each ActualCode As String In Tableau
If SearchedCode.Equals(ActualCode) Then
trouve = True
Else
trouve = False
End If
Next
If trouve = False Then
MessageBox.Show(String.Format("code '{0}' inexistant .", SearchedCode))
ElseIf trouve = True Then
MessageBox.Show(String.Format("code '{0}' trouvé .", SearchedCode))
End If
End Sub
Niko14
A voir également:
Boucle dans tableau qui renvoie faux a chaque fois
cs_niko14
Messages postés209Date d'inscriptionjeudi 12 janvier 2006StatutMembreDernière intervention10 octobre 2014 25 juil. 2007 à 12:08
petite rectification en fait il ne me dit qu'il a bien trouvé le code que quand j'essaie avec le 41000éme et dernier code du tableau, bizarre non!!!!
et pourtant quand je l'interroge sur la longueur du tableau il me dit bien qu'il a une loingueur de 41000!!!!!!
je vous joins la fonction de remplissage de mon tableau a tout hasard si ca dit a qqun!! lol
Private Sub ChargementTableauCodes()
Dim chemin As String
Dim ligne As String
Dim MonLecteur As StreamReader
Dim delimStr As String = ";"
Dim delimiter As Char() = delimStr.ToCharArray()
chemin = Application.StartupPath & "\pass1.csv"
'Déclaration d'un lecteur de fichier
Try
MonLecteur = New StreamReader(chemin)
With MonLecteur
'positionner le flux au debut du fichier
.BaseStream.Seek(0, SeekOrigin.Begin)
'tant que le lecteur a quelquechose à lire
While (.Peek > 0)
ligne = (.ReadLine().Split(delimiter, StringSplitOptions.RemoveEmptyEntries)(1)).ToString()
'lire une ligne du fichier et l'ajouter à la listbox
MonTableau.Add(ligne)
'ListBox1.Items.Add((.ReadLine().Split(delimiter, StringSplitOptions.RemoveEmptyEntries))(1))
End While
MessageBox.Show("Chargement effectué")
End With
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
'fermer le lecteur
MonLecteur.Close()
End Try
End Sub
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 25 juil. 2007 à 12:12
Salut,
Pourquoi ne pas faire comme cela :
For Each ActualCode As String In Tableau
If SearchedCode.Equals(ActualCode) Then
MessageBox.Show(String.Format("code '{0}' trouvé .", SearchedCode))
Else
MessageBox.Show(String.Format("code '{0}' inexistant .", SearchedCode))
End If
Next
' If trouve = False Then
' MessageBox.Show(String.Format("code '{0}' inexistant .", SearchedCode))
' ElseIf trouve = True Then
' MessageBox.Show(String.Format("code '{0}' trouvé .", SearchedCode))
' End If
A mon sens la deuxième condition n'est pas nécessaire...Je pense..
A+
Exploreur
cs_niko14
Messages postés209Date d'inscriptionjeudi 12 janvier 2006StatutMembreDernière intervention10 octobre 2014 25 juil. 2007 à 12:20
oui je suis d'accord avec toi j'ai changé, mais je dois dire que pour mon code ca ne change rien, il ne me trouve que le dernier code du tableau tous les autres il ne les trouve pas quand il fait la boucle!!!
bizarre bizarre, et ca commence a me gaver!!!
Niko14
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_niko14
Messages postés209Date d'inscriptionjeudi 12 janvier 2006StatutMembreDernière intervention10 octobre 2014 25 juil. 2007 à 12:22
ah oui la renfield ca marche beacoup mieux, je me suis posé la question tout a l'heure pour sortir j'avais essayé avec un break mais il m'avait boulé!!!
et pis le vb.net pour ma défense ca fait que 2 semaines et demi que j'y suis dedans vraiment, avant c'etait C#!!
merci de votre aide a tous les deux et a bientot pour un nouveau coup de main!!!