Copier un fichier dans un tableau en VB.net

Signaler
Messages postés
23
Date d'inscription
jeudi 7 décembre 2000
Statut
Membre
Dernière intervention
8 avril 2010
-
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
-
Bonjour tout le monde!

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.

J'espère que vous pourrez m'aider.

Merci d'avance....

Alex

7 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
52
Salut,
Il n'existe pas de fonction toute faite pour ton problème, tu devras la faire toi meme.

utilises TaChaine.SubString (si tu es bien en VB.NET) pour pouvoir extraire des sous chaines

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
76
Date d'inscription
lundi 6 novembre 2006
Statut
Membre
Dernière intervention
7 mai 2009

fait par exemple un tableau



Dim

array_choise_value(collum,rows)

As





String




Il ta suffit de dire que les premier caractères vont dans la colum 1, puis collum 2 etc

Plus d'info ici :
http://plasserre.developpez.com/v1-6tab.htm




Aussi non va  voir les datagrid.


Mais c'est la fct de découpe qui te pause problème ?
Messages postés
23
Date d'inscription
jeudi 7 décembre 2000
Statut
Membre
Dernière intervention
8 avril 2010

Merci pour vos réponses.

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...

Merci beaucoup pour votre aide....

Alex
Messages postés
140
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
1 novembre 2010
5
Bonjour,
sur les traces de jrivet et substring :

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

A adapter bien sûr.
Salut.
Messages postés
23
Date d'inscription
jeudi 7 décembre 2000
Statut
Membre
Dernière intervention
8 avril 2010

Merci beaucoup!!!!!!!!!!!

Alex
Messages postés
6
Date d'inscription
samedi 10 mars 2012
Statut
Membre
Dernière intervention
31 mai 2012

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!!!!
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Bonjour,

Je vais faire comme ucfoutu et t'inviter à crée ton propre sujet et à nous en dire plus.

Amicalement
1000 recherches sur Google = 1Km de voiture en CO²
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo