IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

ecrire dans un fichier txt [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 19
    Par défaut ecrire dans un fichier txt
    bonjoura tous je debute en VB.net

    j'aimerais savoir comment écrir et lire les valeurs de mes texbox dans
    dans un fichier text
    en gros j'ai des nombre dans mes texbox et j voudrai les rangés comme suite dans mon fichier txt

    linge1 0,2,1,9,1,8,1,1
    linge2 7,1,4,0,0,5,1,1
    ligne3 1,0,9,0,1,1,0,7

    voila le code que j'ai mais je rempli juste ligne apres ligne ,mai c'est pas ce que je souhaite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
            Dim contenu As String = "D:\recette.txt"
     
            If System.IO.File.Exists(contenu) = True Then
                Dim objWriter As New System.IO.StreamWriter(contenu)
     
                objWriter.Write(TBFonction.Text & Environment.NewLine)
                objWriter.Write(TbCode.Text & Environment.NewLine)
                objWriter.Write(TBAtt.Text & Environment.NewLine)
     
                objWriter.Close()
                MsgBox("xxx")
            Else
                MsgBox("File Does Not Exist")
            End If
    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Tu veux quoi et tu as quoi pour le moment

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 19
    Par défaut
    Citation Envoyé par gcorbineau Voir le message
    Tu veux quoi et tu as quoi pour le moment
    je veux a partir de VB.net ecrir les valeurs de mes textbox de cette maniere ci

    inge1 0,2,1,9,1,8,1,1
    linge2 7,1,4,0,0,5,1,1
    ligne3 1,0,9,0,1,1,0,7

    mais dans dans un fichier text

    jusqu'ici j 'arrive juste a creer le fichier comme le montre le code plus haut

  4. #4
    Invité
    Invité(e)
    Par défaut
    Essaye ca


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    using (StreamWriter sw = File.CreateText("D:\recette.txt"))
    {
         sw.WriteLine(TBFonction.Text)
         sw.WriteLine(TbCode.Text)
         swWriter.WriteLine(TBAtt.Text)
     
         sw.Close();
    }

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 19
    Par défaut
    merci gcorbineau pour lec code

    mais le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    using (StreamWriter sw = File.CreateText("D:\recette.txt"))
    {
     
    }
    ne marche pas, je crois que le code que tu ma fourni est en c#
    pourais je l'avoir en Vb.net?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Version VB.NET

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Using sw As StreamWriter = File.CreateText("D:\recette.txt")
     
         sw.WriteLine(TBFonction.Text)
         sw.WriteLine(TbCode.Text)
         sw.WriteLine(TBAtt.Text)
     
         sw.Close()
    End Using

  7. #7
    Membre émérite Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Par défaut
    Salut,

    j'ai fait un programme pour essayer, en partant du principe que tu avais 8 textbox par ligne, que "ligne1 ", "ligne2 " et "ligne3 " dans ton fichier texte étaient là juste pour la compréhension et que tu n'avais que 3 lignes..

    Il y a 3 rangées de 8 textbox, un bouton load et un bouton save..

    Voici le code que j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    Imports System.IO
     
    Public Class Form1
        Dim txtboxes1 As New List(Of TextBox)
        Dim txtboxes2 As New List(Of TextBox)
        Dim txtboxes3 As New List(Of TextBox)
     
        Dim filename As String = "test.txt"
     
        'Chargement du formulaire
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            'On crée chaque groupe de textbox (ici il y en a 3)
            txtboxes1.Add(TextBox1)
            txtboxes1.Add(TextBox2)
            txtboxes1.Add(TextBox3)
            txtboxes1.Add(TextBox4)
            txtboxes1.Add(TextBox5)
            txtboxes1.Add(TextBox6)
            txtboxes1.Add(TextBox7)
            txtboxes1.Add(TextBox8)
     
            txtboxes2.Add(TextBox9)
            txtboxes2.Add(TextBox10)
            txtboxes2.Add(TextBox11)
            txtboxes2.Add(TextBox12)
            txtboxes2.Add(TextBox13)
            txtboxes2.Add(TextBox14)
            txtboxes2.Add(TextBox15)
            txtboxes2.Add(TextBox16)
     
            txtboxes3.Add(TextBox17)
            txtboxes3.Add(TextBox18)
            txtboxes3.Add(TextBox19)
            txtboxes3.Add(TextBox20)
            txtboxes3.Add(TextBox21)
            txtboxes3.Add(TextBox22)
            txtboxes3.Add(TextBox23)
            txtboxes3.Add(TextBox24)
        End Sub
     
        'Click sur le bouton 'Load'
        Private Sub ButtonLoad_Click(sender As System.Object, e As System.EventArgs) Handles ButtonLoad.Click
            Try
                'on ouvre le fichier texte
                Dim sr As New StreamReader(filename)
     
                Dim ligne = sr.ReadLine
                Dim numLigne As Integer = 1
     
                'on lit ligne par ligne
                While ligne IsNot Nothing
     
                    'suivant le numéro de ligne..
                    If numLigne = 1 Then
                        '..on remplit le bon groupe de textbox à partir de la ligne courante
                        LineToTextBoxes(ligne, txtboxes1)
                    ElseIf numLigne = 2 Then
                        LineToTextBoxes(ligne, txtboxes2)
                    ElseIf numLigne = 3 Then
                        LineToTextBoxes(ligne, txtboxes3)
                    End If
     
                    'on passe à la ligne suivante
                    ligne = sr.ReadLine
                    numLigne += 1
                End While
                'on ferme le flux
                sr.Close()
     
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
     
        'Click sur le bouton 'Save'
        Private Sub ButtonSave_Click(sender As System.Object, e As System.EventArgs) Handles ButtonSave.Click
            Try
                'on ouvre le fichier texte
                Dim sw As New StreamWriter(filename)
     
                'pour chaque groupe de textbox
                For Each txtboxes As List(Of TextBox) In {txtboxes1, txtboxes2, txtboxes3}
                    'on crée la ligne à écrire dans le fichier texte
                    Dim ligne As String = TextBoxesToLine(txtboxes)
                    'puis on l'écrit
                    sw.WriteLine(ligne)
                Next
                'on ferme le flux
                sw.Close()
     
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
     
        'Méthode qui concatène (pas sûr du mot xD) le contenu d'une liste de textbox
        Private Function TextBoxesToLine(txtboxes As List(Of TextBox)) As String
            'on crée une nouvelle liste de chaine de caractere
            Dim nombres As New List(Of String)
            'pour chaque textbox du groupe..
            For Each txtbox In txtboxes
                '..on ajoute le contenu à la liste
                nombres.Add(txtbox.Text)
            Next
            'on retourne le tout sous forme de chaine de caractere
            Return String.Join(",", CType(nombres.ToArray, String()))
        End Function
     
        'Méthode qui remplit une liste de textbox à partir d'une ligne
        Private Sub LineToTextBoxes(ligne As String, txtboxes As List(Of TextBox))
            'on decoupe la ligne grace au caractere separateur ","
            Dim nombres As String() = ligne.Split(",")
     
            'on associe le contenu d'une textbox et un nombre
            For i = 0 To txtboxes.Count - 1
                txtboxes(i).Text = nombres(i)
            Next
        End Sub
     
    End Class
    Le code contient 120 lignes.. il y a peut être une manière plus simple..

    EDIT: vu la réponse de gcorbineau, je ne suis pas certain d'avoir compris la problématique tans pis..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment ecrire dans un fichier txt avec WriteFile?
    Par Art19 dans le forum Langage
    Réponses: 13
    Dernier message: 04/07/2007, 15h50
  2. Ecrire dans un fichier txt en 4gl
    Par patriceguic dans le forum Informix
    Réponses: 2
    Dernier message: 07/05/2007, 20h44
  3. Ecrire dans un fichier .txt
    Par chabRRR dans le forum Langage
    Réponses: 3
    Dernier message: 13/03/2007, 19h30
  4. Ecrire dans un fichier .txt
    Par yinyann86 dans le forum Pascal
    Réponses: 17
    Dernier message: 24/11/2006, 13h36
  5. Ecrire dans un fichier txt sans en effacer le contenu
    Par cari dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/12/2005, 18h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo