Voilà j'ai un petit soucis.
J'essaye de copier dans un tableau le contenu d'un fichier
exemple : mon fichier FRDEMAR01AVR
DRFRMAR01AVR
DHFTMER02AVR
je voudrai dans le tableau 3 colonnes : FRDE | MAR | 01AVR
DEFR | MAR | 01AVR
DHFT | MER | 02AVR
J'avais penser (vu que c'est toujours le même nombre de caractère) faire une découpe par caractère lui dire que jusqu'au 4ième caractère il copie dans le er index du tableau et ainsi de suite.
Mais je ne trouve pas de fonctions qui pourraient effectuer ceci.
Oui c'est la fonction de découpe qui me pose problème car je ne vois pas comment lui dire qu'il faut qu'il lise jusq'au 4'ième caractère puis qu'ensuite il lit 3 caractères etc...
La fonction pour charger le fichier dans un string :
(avec les 3 lignes de ton exemple)
'*** Récupération du chemin de l'application et des données enregistrées.
' Pour simplifier, j'ai placé "MonFichier.txt" dans bin-->Debug
Public pathExe As String = My.Application.Info.DirectoryPath & ""
Function LoadMonFichier(ByVal path As String) As String
Dim valeur As String = ""
' Create an instance of StreamReader to read from a file.
Using sr As IO.StreamReader = New IO.StreamReader(path)
Do While sr.Peek() >= 0
valeur = valeur & Convert.ToChar(sr.Read())
Loop
sr.Close()
Return valeur
End Using
End Function
Et pour tester "la découpe", j'ai mis un bouton "btnSubString" avec le code suivant :
Private Sub btnSubString_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnSubString.Click
'*** On charge les données du fichier dans le string text
' On supprime les correspondances à "retour chariot" et
' et "nouvelle ligne".
Dim text As String
text = CStr(LoadMonFichier(pathExe & "MonFichier.txt"))
text = System.Text.RegularExpressions.Regex. _
Replace(text, "[\n\r]", "")
'*** Les 3 chaînes recherchées de chaque lignes.
Dim maChaine1 As String
Dim maChaine2 As String
Dim maChaine3 As String
'*** Les débuts et longueurs de ces chaînes.
Dim startIndex As Integer
Dim length1 As Integer = 4
Dim length2 As Integer = 3
Dim length3 As Integer = 5
'*** On divise le texte en nombre de ligne
' soit tous les 4+3+5 = 12 caractères
' afin d'initialiser le début de nos 3 chaînes par lignes
' puis et en indiquant la longueur de chacune
For nbrLigne As Integer = 0 To CInt((text.Length / 12) - 1)
startIndex = 12 * nbrLigne
maChaine1 = text.Substring(startIndex, length1)
maChaine2 = text.Substring(startIndex + length1, length2)
maChaine3 = text.Substring(startIndex + length1 + length2, length3)
MessageBox.Show("chaîne 1 : " & maChaine1 & vbCr & _
"chaîne 2 : " & maChaine2 & vbCr & _
"chaîne 3 : " & maChaine3)
Next
End Sub
slt j ai besoin de vptre aide
je sais pas comment stocker un tableau de structure dans un fichier
quand je fai par ex: put#1, ,T il me donne un erreur!!!!