1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
'VEUILLEZ FAIRE ATTENTION À LA SAISIE DES FICHIERS TEXTE
'Valider chaque ligne avec touche "suppr" et touche "retour chariot"(cr)
'Sans quoi il y aura des caracteres tabulation ou des caracterres null string("")
'qui fausseront le resultat de la fonction Split
'Fin de fichier :appuyer sur touche "suppr" apres le dernier caractere de la dernier ligne
'pour marquer fin de fichier.
'NB:RAJOUTER 3 TEXTBOX SVP
Imports System.IO
Imports System.Text
Public Class Form1
Dim cheminFichier As String = Directory.GetCurrentDirectory & "\"
Dim fileTag As String = "Tags.txt"
Dim fileTexte As String = "Fichier.txt"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim tags As String = String.Empty
Dim TabTag() As String = New String() {}
Dim vecteur As String = String.Empty
Dim TabVect() As String = New String() {}
Using srFileTag As StreamReader = New StreamReader(cheminFichier & fileTag, True)
tags = srFileTag.ReadToEnd
TabTag = tags.Split(New Char() {" ", vbCrLf, vbTab})
srFileTag.Close()
End Using
Using srFileText As StreamReader = New StreamReader(cheminFichier & fileTexte, True)
vecteur = srFileText.ReadToEnd
TabVect = vecteur.Split(New Char() {" ", vbCrLf, vbTab})
srFileText.Close()
End Using
'Affiche les fichiers lus
Call displayFiles(TabTag, Me.txtBoxFileTag)
Call displayFiles(TabVect, Me.txtBoxFileVecteur)
'tabVectTemp est un tableau clone de TabVect(stocke les resultats)
'Car il est interdit dans une boucle recherche de modifier TabVec
Dim tabVectTemp() = TabVect
'SVP: Erreur de logique .Permuter les tableaux TabVect et TabTag
'On "prend" un element de TabTag et on recherche à chaque fois
'dans TabVec s'il y a un element correspond
For J As Integer = 0 To UBound(TabTag)
'check si un element de TabVec se trouve dans
For K As Integer = 0 To UBound(TabVect)
If TabVect(K) <> "+1" And TabVect(K) <> "-1" Then
If TabVect(K) = TabTag(J) Then
tabVectTemp(K) = CStr(J)
End If
End If
Next K
Next J
'VARIANTE AVEC CONVERSION DE TabTag EN LIST(OF STRING)
'a la volee
'Dim lstTag As List(Of String) = TabTag.ToList
'For J As Integer = 0 To TabVect.Length - 1
' Dim ch As String = TabVect(J)
' If lstTag.Contains(ch) Then
' tabVectTemp(J) = lstTag.IndexOf(ch).ToString
' End If
'Next
'Affiche le fichier final contenu dans tabVectTemp
Call displayFiles(tabVectTemp, Me.txtBoxFileReplacement)
End Sub
Private Sub displayFiles(ByVal objTabStr() As String, ByVal ctrl As TextBox)
ctrl.Clear()
For I As Integer = 0 To objTabStr.Length - 1
ctrl.Text = ctrl.Text & (I).ToString & " :" & objTabStr(I) & vbCrLf
Next
End Sub
End Class |
Partager