J'aimerais faire un petit programme qui ferais que quand je tape dans ma textbox1 : "TRI", il me dise qu'il a trouvé : TRI010100 et TRI074788.
Je sais ouvrir un fichier texte, mais aprés je ne sais pas comment lui dire de chercher que dans les 9 première lettres et de ranger le résultat dans un tableau...
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 22 déc. 2009 à 19:44
Salut
De quelle manière as-tu ouvert ton fichier texte ?
As-tu regardé les fonctions associées aux manips autour des fichiers ?
Tu les découvriras très facilement en chargeant n'importe quelle souce du site en recherchant "ouvrir fichier" ou "lire fichier" parmi les Codes en Net seulement.
Il doit surement (*) y avoir un équivalent de "Line Input" ou "ReadLine" ...
(*) Je n'ai pas la syntaxe VB.Net en tête)
Ensuite, une fois que tu auras la ligne entière, il te suffira de :
- découper les différents items avec un Split (ou de ce genre)
- vérifier que le premier item commence bien par "TRI" comme maChaine.StartsWith("TRI")
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Tweet75
Messages postés87Date d'inscriptionjeudi 5 novembre 2009StatutMembreDernière intervention 3 janvier 2012 22 déc. 2009 à 20:46
Bonsoir Jack,
Voici le programme que j'ai fait. J'aimerais savoir s'il peut être simplifié ou s'il y a des erreur :
Private Sub Visual_Parts()
Dim monstreamreader As New System.IO.StreamReader(Pieces) 'on rentre le chemin du fichier donnée
Dim ligne As String ' Variable contenant le texte de la ligne
Dim testrecherche As String ' Variable permetant de tester si le composant est présent dans ligne
Dim tableau() As String 'Tableau permettant de stocker la référence du composant et ses informations
Dim occurence(50) As String
Dim i As Integer
Try
i = 0
Do
ligne = monstreamreader.ReadLine
testrecherche = InStr(ligne, TextBox1.Text)
If testrecherche <> 0 Then
If ligne.StartsWith(TextBox1.Text) Then
tableau = Split(ligne, "#")
occurence(i) = tableau(0)
i = i + 1
End If
End If
Loop Until ligne Is Nothing ' On va jusqu au bout du fichier texte puis on le ferme
monstreamreader.Close()
Catch ex As Exception ' Affiche une msgbox en cas d'erreur de fichier introuvable
MsgBox("Erreur programme !" & vbCrLf & "Un problème au niveau du réseau a été détecté." & vbCrLf & "Veuillez réessayer ultérieurement.", MsgBoxStyle.Exclamation, "Problème réseau")
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 23 déc. 2009 à 00:54
Ca semble correct.
Je viens même de l'essayer, tout fonctionne.
Alors la seule chose dont dépend cette différence, c'est le contenu de TextBox1.Text ...
Qu'y a t-il dedans ? peux-tu le vérifier
Attention : "A" n'est pas "a" pour un StartsWith (sensible min/maj)
Corrige éventuellement :
.StartsWith(TextBox1.Text, StringComparison.OrdinalIgnoreCase)
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Tweet75
Messages postés87Date d'inscriptionjeudi 5 novembre 2009StatutMembreDernière intervention 3 janvier 2012 23 déc. 2009 à 13:08
Salut Jack,
Tout d'abord merci de t'attarder sur mon sujet. Je ne l'ai pas mis sur le bout de programme ci dessus mais j'ai mis une ligne pour convertir le texte en majuscule aprés traitement donc plus de soucis de ce coté là.
Merci encore
Vous n’avez pas trouvé la réponse que vous recherchez ?