Sauvegarde TextBox et Label en fichier Texte

mat1554 Messages postés 51 Date d'inscription samedi 23 avril 2005 Statut Membre Dernière intervention 29 avril 2013 - 28 mars 2007 à 00:37
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 - 28 mars 2007 à 23:11
Bonjour, j'aimerais savoir si ses possible (si oui comment car j ai pas trouver tutorial sous google) de faire qu'en cliquant sur le bouton sauvegarder toutes les données de mes label et de me textbox se sauvegarde dans un fichier texte que l'utilisateur défini le nom.

P.S : Ses pas oublier d'etre *.txt, sa peux etre *.doc, *.rtf ou autre
Ce que j'aimerais ses vraiment qui aie dans la sauvegarde sur ligne différente

Nom du personnages : Valeur text box
Nom du Jouers : Valeur de la textbox
etc

Mat1554

Voici un illustration de mon image que j'explique
si le lien n'est pas visible : http://img262.imageshack.us/img262/5509/testhf6.jpg

7 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 mars 2007 à 00:52
je te conseille d'enregistrer tout cela dans une base de données, plutot...

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
mat1554 Messages postés 51 Date d'inscription samedi 23 avril 2005 Statut Membre Dernière intervention 29 avril 2013
28 mars 2007 à 01:20
j'ai jamais réussi a utlisé les base de donnée par vb2005, mais en plus, je trouverai sa mieux dans un fichier car utilisateur pourrai choisir le nom et apres il faut aussi qu'ils puissent le réouvrir et que les casses se recharge au bon endroit 

Mat1554
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
28 mars 2007 à 09:16
Salut! Cette exemple montre comment enregistrer et charger les données de toutes les textbox d'une form dans un fichier text! Ceci dis renfield a raison pour la BDD mais ce n'est pas ma tasse de thé non plus!

'Sauver

Private Sub CommandButton1_Click()

Open "C:\Test.txt" For Output As #1

Dim Ctl As Control
For Each Ctl In Me.Controls

If TypeName(Ctl) = "TextBox" Then

Write #1, Ctl.Text

End If

Next

Close #1

End Sub

'Charger
Private Sub CommandButton2_Click()

Dim Ctl As Control
Dim TaString As String

Open "C:\Test.txt" For Input As #1

While Not EOF(1)

For Each Ctl In Me.Controls

If TypeName(Ctl) = "TextBox" Then

Line Input #1, TaString
TaString = Replace(TaString, """", "", 1, -1, vbTextCompare)
Ctl.Text = TaString

End If

Next

Wend

Close #1

End Sub,

----

(Coloration syntaxique automatique par Kenji)







 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
28 mars 2007 à 12:41
    bonjour,
moi je te propose une methode un peu plus courte et un peu plus simple que la bdr en txt :-) c'est la methode ini qui es tres simple a utiliser pour l'ecriture comme pour la lecture ^^ j'avais trouver un module pour controler cela qui est genial et que j'utilise toujours voici le code du module :

------------------------------------------------------------------------------------------------------------
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
 
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
 
Function LireINI(Entete As String, Variable As String) As String
    Dim Retour As String
    Fichier = App.Path & "" & form1.text1.text & ".ini"
    Retour = String(255, Chr(0))
    LireINI = Left$(Retour, GetPrivateProfileString(Entete, ByVal Variable, "", Retour, Len(Retour), Fichier))
End Function
 
Function EcrireINI(Entete As String, Variable As String, Valeur As String) As String
    Fichier = App.Path & "" & form1.text1.text & ".ini"
    WriteINI = WritePrivateProfileString(Entete, Variable, Valeur, Fichier)
End Function

' Pour l'executer ex :
'EcrireINI "MonEntete", "MaVariable", "MaValeur"
'LireINI("MonEntete", "MaVariable")
------------------------------------------------------------------------------------------------------------

donc voila le code :-)

maintenant dans ta form sois tu fais la methode longue mais qui te permet d'avoir un nom de controle precis par exemple si tu veux garder tes nom comme txtname.texte , txtfichier.text, txtnom.texte etc sa donneras :

Txtfichier.Text = LireINI("Infos", (fichier))
Txtname.Text = LireINI("Infos", (name))
Txtnom.Text = LireINI("Infos", (nom))

avec cette maniere l'enregistrement devras etre comme ca :

EcrireINI "Infos", "fichier", txtfichier.text
EcrireINI "Infos", "nom", txtnom.text
EcrireINI "Infos", "name", txtname.text

ce qui donneras comme fichier ini :
[Infos]
fichier=contenus de ton txtfichier.text
nom=contenu de ton txtnom.text
name=contenu de ton txtname.text
...

avec l'autre methode ses avec une indexation (ma prefereee perso)

tu fais l'enregistrement en chiffre et tu le lis avec une boucle ta tout tes controle genre
txt(0) txt(1) txt(2)

pour les enregistrer tu ferais du genre
for i = 0 to 2
   EcrireINI "Infos", (i), txt(i)
next i

et pour lire :

for i = 0 to 2
    txt(i).text = lireini("Infos",(i))
next i

------------------------------------------------------------------------------------------------------------

bon j'ai peut etre fais une inversion ou deux dans l'enregistrement l'ecture mais tout maniere ta l'exemple de creation et lecture de l'ini dans le code du module ci dessus ^^
(sorry vla que je me leve j'ai la tete dans le *** ^^)

en esperant t'avoir aider
Diablaman
0

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

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 mars 2007 à 19:22
j'aime bien la version de diablaman... j'aime bien les INI ^^

couplé avec un For Each oControl In Me.Controls....

le code serait pas mal amputé

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
mat1554 Messages postés 51 Date d'inscription samedi 23 avril 2005 Statut Membre Dernière intervention 29 avril 2013
28 mars 2007 à 22:25
Bonjour je sais pas dans les 2 cas il me dit 1 erreure dans les fonctions


comme ceci : le GRAS ses les erreures




Open



"C:\Test.txt"



For


Output

As
#1




Dim
Ctl

As
Control




For



Each
Ctl

In



Me
.Controls




If
TypeName(Ctl) =

"TextBox"



Then



Write # 1, Ctl.Text







End



If






Next

Close #1







<hr />






Dim
Ctl

As
Control


Dim
TaString

As



String



Open







"C:\Test.txt"



For


Input

As
#1


While



Not
EOF(1)


For



Each
Ctl

In



Me
.Controls


If
TypeName(Ctl) =

"TextBox"



Then



Line Input #
1, TaString


TaString = Replace(TaString,




""""
,

""
, 1, -1, vbTextCompare)Ctl.Text = TaString


End



If






Next






End



While

Close #1







<hr />

Mat1554
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
28 mars 2007 à 23:11
Salut,

Voici le code pour sauvegarder tous le contenu de tes textbox :

Public Class Form1

    Dim Browsers As New System.Collections.Generic.List(Of TextBox)()

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim SaveFileDialog1 As New SaveFileDialog
        Dim reponse As DialogResult

        SaveFileDialog1.InitialDirectory = My.Application.Info.DirectoryPath + "\" ' Initialise le répertoire affiché au démarrage
        SaveFileDialog1.Filter = "Fichiers txt|*.txt|Fichier doc|*.doc|Ficher rtf|*.rtf" 'Définit les filtres
        SaveFileDialog1.FileName = "" ' Affiche une chaîne vide dans la zone Nom du fichier 
        SaveFileDialog1.Title = "Enregistrer" ' Définit le titre de la fenêtre SaveFileDialog1
        reponse = SaveFileDialog1.ShowDialog() ' Affiche la fenêtre de SaveFileDialog1
        If reponse = Windows.Forms.DialogResult.OK Then ' Si l'utilisateur à cliqué sur OK
            Dim SW As New IO.StreamWriter(SaveFileDialog1.FileName, False) ' On crée un nouveau fichier
            For Each Ctl As Object In Me.Controls   ' Parcours tous les controls de la Form
                If Ctl.GetType.Name = "TextBox" Then    ' Si le control est une TextBox
                    Browsers.Add(Ctl) ' On le rajoute dans la collection
                    SW.WriteLine(Browsers(0).Text) ' On accède au contenu de la TextBox et on le sauvegarde dans le fichier
                    Browsers.Clear() ' On efface la collection
                End If
            Next
            SW.Close()  ' Fermeture du fichier
        End If
        
    End Sub
End Class, ----

(Coloration syntaxique automatique par Kenji)
---------------------------------------------------------------------------------------------------------------
N'oublies pas d'accepter la réponse si ce message a réglé ton problème  
0
Rejoignez-nous