Enregistrer le contenu d'un listbox en fichier txt en vb.net [Résolu]

cs_xps 46 Messages postés vendredi 21 janvier 2005Date d'inscription 6 novembre 2005 Dernière intervention - 7 févr. 2005 à 20:26 - Dernière réponse : anonimus48 9 Messages postés vendredi 18 juin 2004Date d'inscription 24 août 2006 Dernière intervention
- 16 janv. 2006 à 15:58
Bonjour

Je voudrais enregistrer le contenu d'un listbox ( listbox1) dans un fichier texte.
J'ai déjà fais la savedialog (savedialog1).

Aidez moi !!!!!!!!

merci
Afficher la suite 

9 réponses

cbnet 176 Messages postés vendredi 29 octobre 2004Date d'inscription 7 mars 2005 Dernière intervention - 9 févr. 2005 à 16:12
+3
Utile
Desole d'insister, mais les fonctions FileOpen elles marchent pas ???

Sinon, desole mais moi je peux pas t'aider davantage en vb.net

Ce que je te conseille, c'est de reposer un post avec comme question
"Enregistrer dans un fichier le contenu d'une textbox en vb.net"



bonne chance
Cette réponse vous a-t-elle aidé ?  
cbnet 176 Messages postés vendredi 29 octobre 2004Date d'inscription 7 mars 2005 Dernière intervention - 8 févr. 2005 à 00:02
0
Utile
Je connais pas le .NET mais essaye peut-être ce code qui fonctionne très bien en VB.

En supposant que ton objet ListBox s'appelle List1, tu fais un truc
comme ça (chaque entrée de ta liste sera séparée par des retours à la
ligne)



Dim MonFichier As String, Ligne As String, i As Integer

MonFichier = "C:\mon_texte.txt"

Open MonFichier For Output As #1

For i = 0 To (List1.ListCount - 1)

Ligne = List1.List(i)

Print #1, Ligne

Next i

Close #1


@+
cs_xps 46 Messages postés vendredi 21 janvier 2005Date d'inscription 6 novembre 2005 Dernière intervention - 8 févr. 2005 à 13:00
0
Utile
non ca marche pas

aidez moi svp
cbnet 176 Messages postés vendredi 29 octobre 2004Date d'inscription 7 mars 2005 Dernière intervention - 8 févr. 2005 à 18:16
0
Utile
Bon, dsl mais comme je t'ai dit je n'ai pas vb.net, apparemment le .net
utilise une autre fonction pour acceder au fichier (regarde les
fonctions FileSystem !) :
Donc a l'aveuglette je te propose ceci (ta lisbox s'appelle List1) :



Dim MonFichier As String, Ligne As String, i As Integer, ff As Integer

MonFichier = "C:\mon_texte.txt"

ff = FreeFile()

FileSystem.FileOpen(ff, MonFichier, OpenMode.Output)

For i = 0 To (List1.ListCount - 1)

Ligne = List1.List(i)

FileSystem.PrintLine(ff, Ligne)

Next i

FileSystem.FileClose(ff)



Sinon, regarde cette page, elle est en anglais mais le gars en question
a exactement le meme probleme que toi et en .net, et tu verras en plus
les fonctions pour lire et ecrire sur un fichier :

http://www.a1vbcode.com/vbforums/shwmessage.aspx?ForumID=9&MessageID=7517



@+ et bonne chance
cs_xps 46 Messages postés vendredi 21 janvier 2005Date d'inscription 6 novembre 2005 Dernière intervention - 8 févr. 2005 à 21:43
0
Utile
je n'y arrive pas !!!!

Aidez moi svp!!!
cbnet 176 Messages postés vendredi 29 octobre 2004Date d'inscription 7 mars 2005 Dernière intervention - 9 févr. 2005 à 01:04
0
Utile
Mais je suis pas trop sur de comprendre ton problème... Mais le
principe est là : chaque ligne de ta listbox a un index, pour pouvoir
l'enregistrer il faut que tu fasses une boucle avec un compteur qui va
aller du premier index au dernier. Mais si ton problème c'est écrire
dans un fichier, je te l'ai dit il faut que tu regardes les fonctions
de l'objet FileSystem, par exemple tapes FileSystem suivi d'un point et
tu verras la liste des propriétés et des fonctions de cet objet.

Sinon cherches éventuellement sur Google "FileSystem.FileOpen" et tu trouveras surement des exemples à ta question...

Ce que je ne comprends pas non plus, le gars a exactement le meme
problème que toi, et il a résolu son problème, t'es allé voir la page ??

Ben sinon désolé comme je t'ai dit le .net c'est pas ma tasse de thé...

Bonne chance à toi !
cbnet 176 Messages postés vendredi 29 octobre 2004Date d'inscription 7 mars 2005 Dernière intervention - 9 févr. 2005 à 01:09
0
Utile
Knowing that,
all you need to do is step through the contents of your listbox with a
loop and print each line to a file. In order to do this, use the above
mentioned FileSystem inherent in vb.net. There are some syntax
trickeries here.

* FileSystem.FileOpen( : filenumber, path, openmode)</gras> * This will open an existing file or create a new one if one does not exist. : <dt>filenumber - An integer value that will be the designation of the file for read/write operations. * : path - The full path to the file, including the complete filename and extension. * : openmode - a constant representing the method to access the file (input, output, append, binary, etc...) * After you have opened the file, use FileSystem.PrintLine( : filenumber, value)</gras> command to write to the file. * This will write whatever : value is to the next line of the file. * When you are done writing to the file, close it with FileSystem.FileClose( : filenumber)</gras>.<dt>You
now have a file on the drive with the data that you wrote to it. You
can open it in notepad to see what it looks like, and you may have to
do some testing to get it just right.
To read from the file is very similar, open it with FileSystem.FileOpen, but set the mode to input and use FileSystem.LineInput(FileNumber)
to get each line of information. Again, make sure you test this a
lot so you can get it just right. Each time you use the LineInput function, it will input one line from the file, so you may have to check against the FileSystem.EOF(FileNumber)
property to see if you've reached the end of the file. Also, LineInput
is a function, so you will have to set it against a string variable: as
in varString = FileSystem.LineInput(FileNumber).
cs_xps 46 Messages postés vendredi 21 janvier 2005Date d'inscription 6 novembre 2005 Dernière intervention - 9 févr. 2005 à 14:23
0
Utile
j ai fais ca :


Private Sub btnSauvegarder_Click(ByVal sender As Object, ByVal e As System.EventArgs) _


Handles btnSauvegarder.Click


' on sauvegarde la boîte de saisie dans un fichier texte


' on paramètre la boîte de dialogue savefileDialog1


saveFileDialog1.InitialDirectory = Application.ExecutablePath


saveFileDialog1.Filter = "Fichiers texte (*.txt)|*.txt|Tous les fichiers (*.*)|*.*"


saveFileDialog1.FilterIndex = 0


' on affiche la boîte de dialogue et on récupère son résultat


If saveFileDialog1.ShowDialog() = DialogResult.OK Then


' on récupère le nom du fichier


Dim nomFichier As String = saveFileDialog1.FileName


Dim fichier As StreamWriter = Nothing


Try


' on ouvre le fichier en écriture


fichier = New StreamWriter(nomFichier)


' on écrit le texte dedans


fichier.Write(txtTexte.Text)


Catch ex As Exception


' problème


MessageBox.Show("Problème à l'écriture du fichier (" + ex.Message + ")", "Erreur",


MessageBoxButtons.OK, MessageBoxIcon.Error)


Return


Finally


' on ferme le fichier


Try


fichier.Close()


Catch


End Try


End Try


End If


End Sub

mais ca marche pas on peut me le finir ?

merci
anonimus48 9 Messages postés vendredi 18 juin 2004Date d'inscription 24 août 2006 Dernière intervention - 16 janv. 2006 à 15:58
0
Utile
le code pour enregistrer est:


Dim objStreamWriter As System.IO.Streamwriter



Dim intX as Integer







objStreamWriter = System.IO.File.CreateText("TonFichier.txt")







For intX = 0 To Me.listbox1.Items.Count - 1



objStreamWriter.WriteLine(Me.listbox1.Items(intX)



Next intX







objStreamWriter.Close()

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.