Probleme option strick avec ma fonction de recherche
FRED92G
Messages postés290Date d'inscriptionjeudi 24 mai 2012StatutMembreDernière intervention20 août 2022
-
Modifié le 17 août 2022 à 18:48
FRED92G
Messages postés290Date d'inscriptionjeudi 24 mai 2012StatutMembreDernière intervention20 août 2022
-
18 août 2022 à 18:53
Bonjour,
ma fonction de recherche me retourne un probleme avec l option strict
conversion du mode integer a string et interdite.
comment je peu faire ?
Dim TA As New ArrayList
Dim CS As String = TA.Count
Dim i As Integer 'Variable de boucle
Dim AChercher As String = "treasure" 'String à chercher
For i = 0 To CS
If TA(i) Is AChercher Then
MsgBox(i)
Exit For
End If
Next i
A voir également:
Probleme option strick avec ma fonction de recherche
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 17 août 2022 à 19:11
Il faut aussi retirer l'import automatique de l'espace de nom Microsoft.VisualBasic, ça t'incite à faire du code style VB6 et est donc à proscrire.
Remplace
MsgBox(i)
Par
MessageBox.Show(i.ToString())
FRED92G
Messages postés290Date d'inscriptionjeudi 24 mai 2012StatutMembreDernière intervention20 août 2022 17 août 2022 à 19:13
mon probleme et plus haut dans le code la dim cs et le for qui le reutilise si tu peu regarder et me corriger le probleme
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159
>
FRED92G
Messages postés290Date d'inscriptionjeudi 24 mai 2012StatutMembreDernière intervention20 août 2022 17 août 2022 à 20:37
Je n'ai pas vraiment compris, ma réponse reste valable et est à appliquer quand même.
Pour ton test, ce sont des chaines de caractères (String) donc des objets.
IfTA(i)Is AChercher Then
Doit devenir
IfTA(i).Equals(AChercher) Then
Sinon tu compare les valeurs de pointeurs et forcément ils sont différents.
FRED92G
Messages postés290Date d'inscriptionjeudi 24 mai 2012StatutMembreDernière intervention20 août 2022
>
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024 Modifié le 17 août 2022 à 21:19
j ai fait comme sa pour regler le probleme de conversion mes bizarment il me fait une erreur de depassement d index
'L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.
Dim CS As String = CStr((TA.Count))
Dim i As Integer 'Variable de boucle
Dim AChercher As String = "treasure" 'String à chercher
For i = 0 To CInt(CS)
If TA(i).Equals(AChercher) Then
MsgBox(i)
Exit For
End If
Next i
FRED92G
Messages postés290Date d'inscriptionjeudi 24 mai 2012StatutMembreDernière intervention20 août 2022
>
FRED92G
Messages postés290Date d'inscriptionjeudi 24 mai 2012StatutMembreDernière intervention20 août 2022 Modifié le 17 août 2022 à 21:54
finalement j ai trouver la formule tu ma inspirer
Dim CS As String = CStr((TA.Count))
Dim i As Integer 'Variable de boucle
Dim AChercher As String = "treasure" 'String à chercher
For i = 0 To CInt(CS) - 1
If TA(i).ToString.Contains(AChercher) Then
MsgBox(i)
ListBox2.Items.Add((TA(i)))
numindex = i
Exit For
End If
Next i
MsgBox(TA(numindex))
en mettent le -1 a la for si il trouve pas la recherche il me donne le derniere lien du tableau sa evite l erreur de sortie d index
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159
>
FRED92G
Messages postés290Date d'inscriptionjeudi 24 mai 2012StatutMembreDernière intervention20 août 2022 17 août 2022 à 21:52
En cas de non trouvé, in sortira de la boucle simplement.
Note du coup, pour itérer sur les tableaux, il est préférable d'utiliser leur taille réelle :
17 août 2022 à 19:13
mon probleme et plus haut dans le code la dim cs et le for qui le reutilise si tu peu regarder et me corriger le probleme
17 août 2022 à 20:37
Je n'ai pas vraiment compris, ma réponse reste valable et est à appliquer quand même.
Pour ton test, ce sont des chaines de caractères (String) donc des objets.
Doit devenir
Sinon tu compare les valeurs de pointeurs et forcément ils sont différents.
Modifié le 17 août 2022 à 21:19
j ai fait comme sa pour regler le probleme de conversion mes bizarment il me fait une erreur de depassement d index
'L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.
Modifié le 17 août 2022 à 21:54
finalement j ai trouver la formule tu ma inspirer
en mettent le -1 a la for si il trouve pas la recherche il me donne le derniere lien du tableau sa evite l erreur de sortie d index
17 août 2022 à 21:52
En cas de non trouvé, in sortira de la boucle simplement.
Note du coup, pour itérer sur les tableaux, il est préférable d'utiliser leur taille réelle :
Devient :