Sauvegarder le contenu d'une listbox dans un fichier resources [Résolu]

Signaler
-
cs_Le Pivert
Messages postés
6537
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 février 2020
-
Bonjour,
si je vous contacte à nouveau c'est car, après de longue recherche, je n'ai pas trouvé comment enregistrer le contenu de ma listbox dans un fichier txt resource.

Voici mon code pour le moment :
Try
            Dim aba As New IO.StreamWriter(My.Resources.SaveHistorique)
                For i = 0 To Historique.ListeHistorique.Items.Count - 1
                aba.WriteLine(Historique.ListeHistorique.Items.Item(i))
                Next
                
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

Le message d'erreur que j'obtient me dit :

Caractères non conformes dans le chemin d’accès.


J’espère que vous avez bien compris mon problème et que vous pourrez m'y éclaircir :D.

Sorpia.

27 réponses

Messages postés
6537
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 février 2020
95
Si tu peux écrire mais de la manière que je t'ai indiquée. Il faut que tu saches que tout ce qui est dans le dossier Resources: images, fichier texte etc. pour qu'ils soient opérationnels doivent être dans le même dossier que l'exe ainsi que les dll si besoin. Sinon ils n'apparaîtront pas dans ton programme dans le meilleur des cas et dans le pire il y aura un bug (ressources ou dll manquantes).
C'est pour cela quil existe des installateurs de programme pour les logiciels professionnels qui installent tous les dossiers necessaires à la bonne marche du logiciel.

@+Le Pivert

Bonjour

Et si tu mets un espion sur ton chemin d'accès et que tu le vérifies dans la fenêtre espions ?

Parce que pour ton chemin d'accès cela prend une sacrée bonne de boule de cristal

Re-Bonjour,
Euh.. je connais pas les "espions" désoler, tu pourrais m'expliquer s'il te plaît ?

Sorpia.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Bonjour,
je connais pas les "espions"

voilà un aspect n'ayant rien à voir avec le code etr tout à voir avec la connaissance de son interface de développement
Il va donc te falloir apprendre cela.
De la lecture, pour commencer :
Tapez le texte de l'url ici.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Et pendant que tu en es à de la saine (et indispensable) lecture et à l'étude de ton outil de développement :
toutes les rubriques et sous-rubriques que tu trouveras là ===>
Tapez le texte de l'url ici.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ

Bonjour,

Pour appuyer ucfoutu et y ajouter mon grain de sel, voici deux autres concepts fondamentaux à maîtriser. Sinon tu ne progresseras jamais et ce sera pratiquement impossible pour quiconque de t'aider efficacement.

Les points d'arrêt

L'exécution pas à pas

Bonjour,
Je vous remercie de m'avoir répondu,je regardais tout cela en rentrant ce soir car la je dois y aller.

Merci,
Sorpia.

Bonjour,
Voici ce que me dit la fenêtre exécution :
Une exception de première chance de type 'System.ArgumentException' s'est produite dans mscorlib.dll


Merci d'avance,
Sorpia.

Bonjour,
il me semble en fait qu'il est impossible de modifier une ressource incorporée au projet...

Au revoir et à bientôt :D.
Messages postés
6537
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 février 2020
95
Bonjour,
la solution ce trouve dans ce post. Il te suffira de l'adapter en mettant le chemin de ton fichier:

http://www.vbfrance.com/forum/sujet-ENREGISTRER-CONTENU-LISTBOX-FICHIER-TXT-VB-NET_386806.aspx


@+Le Pivert

Bonjour,
merci cela je le savais déjà mais lorsque je change la direction du fichier txt servant de sauvegarde par My.Resources.FichierTxt, j'ai une erreur.
Messages postés
6537
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 février 2020
95
[i]"la solution ce trouve dans ce post. Il te suffira de l'adapter en mettant le chemin de ton fichier:"
/i



 Dim chaine As String = My.Application.Info.DirectoryPath
        chaine = Replace(chaine, "\bin\Debug", "\Resources")
        Dim objStreamWriter As StreamWriter
        Dim intX As Integer
        objStreamWriter = File.CreateText(chaine & "\MonFichier.txt")'mettre le nom de ton fichier avec l'extension
        For intX = 0 To Me.ListBox1.Items.Count - 1
            objStreamWriter.WriteLine(Me.ListBox1.Items(intX))
        Next intX
        objStreamWriter.Close()

@+Le Pivert

Bonjour,
Cela marche avec les ressources incorporées?
Messages postés
6537
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 février 2020
95
Bien sur. Le fichier texte se trouve dans le dossier Resources. Le plus simple c'est d'essayer!

Oui merci de ton aide, je pensais que les fichiers ressources incorporés était dans l'application, car lorsque je mets un fichier texte ou autre dedans le poids de l'application augmente. Car sinon autant créer un autre fichier texte où je souhaite et ne pas le mettre en ressource.
Messages postés
6537
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 février 2020
95
Tu peux mettre ton fichier texte dans le dossier Debug avec ton exe. Et tu l'appelles comme ceci:

 objStreamWriter = File.CreateText(My.Application.Info.DirectoryPath & "\MonFichier.txt")


Comme cela l'utilisateur l'aura avec l'exe.

Oui encore merci cela je le savais aussi,n'est il pas possible d'avoir un fichier texte incorporé dans l'application et qu'il ne soit pas sur le disque ? Et de pourvoir écrire dedans ?
Messages postés
6537
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 février 2020
95
A droite dans le dossier Resources tu as ton Fichier texte. Tu cliques dessus et dans les propriétés en bas à droite tu cliques sur: Toujours copier. Tu verras alors qu'un dossier Resources a été mis dans le dossier Debug. Donc tu ne peux pas dissocier ton exe de ton fichier texte. Sinon comment le retrouves-tu? Tu as une seconde solution avec le registre. Mais c'est essentiellement avec très peu de texte. Tu regardes enregistrer des données dans le registre.

Mais l'incorporer dans l’application ne suffit pas ?
Et puis je pourrais le retrouver avec "My.Resources.MonFichier"
Mais comme au départ il me génère une erreur lorsque je l'utilise comme chemin...
Messages postés
6537
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 février 2020
95
Pour te servir de My.Resources comme tu le veux, c'est pour lire le fichier dans un textBox comme ceci:
TextBox1.Text = My.Resources.MonFichier()

Mais pour écrire dans ce fichier il faut un chemin valide comme je te l'ai indiqué. Le plus simple est de le mettre dans le dossier Debug. On ne peut pas écrire de la manière que tu le désires!
1 2