Copier un fichier dans un tableau en VB.net

cs_AlexTheDoctor Messages postés 23 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 8 avril 2010 - 1 avril 2008 à 12:09
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 - 1 juin 2012 à 09:58
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

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
1 avril 2008 à 12:36
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
0
dimitriusai Messages postés 76 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 7 mai 2009 1
1 avril 2008 à 12:38
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 ?
0
cs_AlexTheDoctor Messages postés 23 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 8 avril 2010
1 avril 2008 à 13:28
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
0
cs_christoni Messages postés 140 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 1 novembre 2010 7
3 avril 2008 à 12:32
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_AlexTheDoctor Messages postés 23 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 8 avril 2010
4 avril 2008 à 17:00
Merci beaucoup!!!!!!!!!!!

Alex
0
malaklari Messages postés 6 Date d'inscription samedi 10 mars 2012 Statut Membre Dernière intervention 31 mai 2012
31 mai 2012 à 18:43
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!!!!
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
1 juin 2012 à 09:58
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
0
Rejoignez-nous