Sauvegarde Textbox (s) dans Fichier Txt [Résolu]

Signaler
Messages postés
55
Date d'inscription
dimanche 14 août 2011
Statut
Membre
Dernière intervention
1 février 2013
-
vb95
Messages postés
2098
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
25 mars 2020
-
Bonsoir,

Donc voilà
Cela fait une heure que je cherche sur le Net pour trouver un moyen de sauvegarder des textbox dans un ficher Txt mais rien à faire tous les codes que j'ai trouver ne sont pas appropriés.
Je m'explique en détail :

Je possède exactement 48 textbox et je voudrais enregistrer chacune des textbox dans un fichier Bloc note de sorte à ce qu'il ressemble à ça :

- 1 "Contenu de textbox 1"
- 2 "Contenu de textbox 2"
- ..............
- 48 "Contenu de textbox 48"

J'utilise une savefiledialog pour enregistrer mon fichier mais après ce bout de code je bloque
SaveFileDialog1.ShowDialog()
.
J'ai vu qu'il existait un tas de code avec Writestream etc... mais je ne sais pas les utiliser
Merci d'avance pour l'aide

11 réponses

Messages postés
55
Date d'inscription
dimanche 14 août 2011
Statut
Membre
Dernière intervention
1 février 2013
1
Merci pour ton code acive mais je veux que l'utilisateur puisse enregistrer le fichier ou il le souhaite en utilisant la showdialog.
J'ai donc utiliser le code suivant :

Dim Savefile As New SaveFileDialog
        If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            Dim path As String = "c:\temp" & DateTimePicker1.Text & ".txt"
            Dim sw As StreamWriter
            If File.Exists(path) False Then sw File.CreateText(path)
            sw.WriteLine(Textbox1.Text)
            sw.WriteLine(Textbox2.text)
            sw.Flush()
            sw.Close()
        End If 


Mais sw est souligné en vert et VB express me dit qu'une exception peut subvenir pendant l’exécution et c'est ce qu'il se passe :s

ShayW les textboxs sont crées en design mode avec VB express 2010

Bonsoir,
Essaye ça:
Imports System.IO
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim path As String = "c:\temp\TonFichier.txt"
        Dim sw As StreamWriter
        If File.Exists(path) False Then    sw File.CreateText(path)
            sw.WriteLine(TextBox1.Text)
            sw.WriteLine(TextBox2.Text)
            sw.WriteLine(TextBox3.Text)
            sw.WriteLine(TextBox4.Text)
            sw.Flush()
            sw.Close()
    End Sub
End Class



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
47
Salut

tu veux sauvgarder tous tes textboxes les 48
ou il y peut en avoir plus
aussi tes texboxes sont crées en design mode avec
le IDE ou crée dynamiquement ?
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
47
peut etre ainsi

Private Sub SaveTextbox(ByVal path As String)
        Dim list As New List(Of String)
        For Each ctrl As Control In Me.Controls
            If TypeOf ctrl Is TextBox Then
                list.Add(DirectCast(ctrl, TextBox).Text)
            End If
        Next
        IO.File.WriteAllLines(path, list.ToArray)
    End Sub
    Private Sub Button1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseClick
        If SaveFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
            SaveTextbox(SaveFileDialog1.FileName)
        End If
    End Sub
Messages postés
55
Date d'inscription
dimanche 14 août 2011
Statut
Membre
Dernière intervention
1 février 2013
1
C'est bon j'ai réussi !

Merci de votre aide et voici le code qui me permet de sauvegarder le fichier ou je veux et le nommer comme je le veux mais j'ai mis la date à la place du nom en fait :)

Dim Savefile As New SaveFileDialog
        SaveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
        SaveFileDialog1.FilterIndex = 2
        SaveFileDialog1.RestoreDirectory = True
        SaveFileDialog1.FileName = DateTimePicker1.Text & ".txt"
        SaveFileDialog1.Title = "Enregistrer sous"
        If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            Dim sw As StreamWriter = New StreamWriter(SaveFileDialog1.FileName & ".txt", True)
            sw.WriteLine("Le ticket est le numéro : " & TextBox1.Text)
            sw.WriteLine("Le ticket est le numéro : " & TextBox2.Text)
                sw.Flush()
                sw.Close()
        End If


Merci de votre aide

Ok,
ta première étape est faite... même si je n'ai pas compris à quoi sert cette ligne:
Dim Savefile As New SaveFileDialog


Maintenant comment vas-tu gérer tes 48 textbox?
Tu vas continuer comme ça jusqu'à 48?
sw.WriteLine("Le ticket est le numéro : " & TextBox1.Text)
sw.WriteLine("Le ticket est le numéro : " & TextBox2.Text)


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
55
Date d'inscription
dimanche 14 août 2011
Statut
Membre
Dernière intervention
1 février 2013
1
Elle ne sert à rien ^^. Erreur de copier - coller.
Je comptais faire un For.... Next ou faire une incrémentation de valeur qui serait alors plus rapide mais dans le pire des cas oui je continuerais comme ça jusqu'à 48

C'est ce que je me disais...
Tu peux faire comme ça:
 SaveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
        SaveFileDialog1.FilterIndex = 2
        SaveFileDialog1.RestoreDirectory = True
        SaveFileDialog1.FileName = DateTimePicker1.Text & ".txt"
        SaveFileDialog1.Title = "Enregistrer sous"
        If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            Dim sw As StreamWriter = New StreamWriter(SaveFileDialog1.FileName & ".txt", True)
            For i As Integer = 1 To 48
                sw.WriteLine("Le ticket est le numéro : " & (Me.Controls("TextBox" & i).Text))
            Next
            sw.Flush()
            sw.Close()
        End If



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique

Ou plutôt (d'après ce que j'ai compris:
            For i As Integer = 1 To 48
                sw.WriteLine("Le ticket est le numéro : " & i.ToString & " - " & (Me.Controls("TextBox" & i).Text))
            Next



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
55
Date d'inscription
dimanche 14 août 2011
Statut
Membre
Dernière intervention
1 février 2013
1
Ok merci beaucoup de ton aide je vais pouvoir sauvegarder mes données dans un fichier Bloc note et attendant de pouvoir les sauvegarder dans un fichier Excel ^^ mais ça ce sera pour plus tard quand j'aurais le temps :)
Merci encore.
Messages postés
65
Date d'inscription
lundi 24 avril 2017
Statut
Membre
Dernière intervention
21 août 2019

à quoi sert le
Dim sw As StreamWriter = New StreamWriter(SaveFileDialog1.FileName & ".txt", True)
?
Whismeril
Messages postés
14412
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
28 mars 2020
365
BONJOUR
vb95
Messages postés
2098
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
25 mars 2020
89
BONJOUR