Récupérer valeur Boolean dans un fichier txt

Tempus01 Messages postés 81 Date d'inscription   Statut Membre Dernière intervention   -  
Tempus01 Messages postés 81 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour le Forum,

Je souhaiterais récupérer les valeurs Boolean ci dessous, ces valeurs permettent à l'utilisateur de sauvegarder ses choix.

Paramètres_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
fichier = My.Application.Info.DirectoryPath & "\SETUPTL.txt"
Dim monStreamReader As StreamReader = New System.IO.StreamReader(fichier)
CheckBox1.Checked = CBool(monStreamReader.ReadLine)
CheckBox2.Checked = CBool(monStreamReader.ReadLine)
RadioButton1.Checked = CBool(monStreamReader.ReadLine)
RadioButton2.Checked = CBool(monStreamReader.ReadLine)
RadioButton4.Checked = CBool(monStreamReader.ReadLine)
RadioButton5.Checked = CBool(monStreamReader.ReadLine)
RadioButton6.Checked = CBool(monStreamReader.ReadLine)
monStreamReader.Close()
End Sub
Private Sub Button17_Click(sender As Object, e As EventArgs) Handles Button17.Click
Dim son = New Media.SoundPlayer(My.Resources.Bip3)
son.Play()
' Création_fichier()
fichier = My.Application.Info.DirectoryPath & "\SETUPTL.txt" 'chemin du fichier texte
Dim monStreamWriter As StreamWriter = New StreamWriter(fichier)
monStreamWriter.WriteLine(CheckBox1.Checked.ToString)
monStreamWriter.WriteLine(CheckBox2.Checked.ToString)
monStreamWriter.WriteLine(RadioButton1.Checked.ToString)
monStreamWriter.WriteLine(RadioButton2.Checked.ToString)
monStreamWriter.WriteLine(RadioButton4.Checked.ToString)
monStreamWriter.WriteLine(RadioButton5.Checked.ToString)
monStreamWriter.WriteLine(RadioButton6.Checked.ToString)
monStreamWriter.Close()
Menu1.Show()
Me.Hide()
End Sub


Cela permettra de choisir entre différentes images de fond et d'activer ou non le son ou encore de choisir entre différentes music dans une autre form.

Voici un petit exemple.

 if "ma première ligne de mon fichier txt est false" then
Dim son = New Media.SoundPlayer(My.Resources.Bip3)
son.play
 
else
Dim son = New Media.SoundPlayer(My.Resources.Bip2)
 son.Play
 
End if


Après plusieurs recherche sur le net et différentes possibilités de testes, je suis un peu "beaucoup" perdu.
Pouvez vous m'aider afin que je puisse terminer ce bout de code.

Merci à vous.
Configuration: Windows / Chrome 90.0.4430.93
A voir également:

5 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour,
que contient ton fichier SETUPTL.txt?
0
Tempus01 Messages postés 81 Date d'inscription   Statut Membre Dernière intervention  
 
Voici son contenu.
False
False
False
True
True
False
False
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
Il faut donc ensuite le relire.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
je ne pense pas que tu puisses ainsi utiliser cbool pour récupérer la valeur après un tostring.
moi j'essaierais cint:
monStreamWriter.WriteLine(cint(CheckBox1.Checked))
0
Tempus01 Messages postés 81 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Merci, je viens de tester.
Apres conversion voici le contenu du fichier SETUPTL, mais j'ai un message d'erreur à la relecture "CBOOL"
-1
-1
-1
0
0
0
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Tempus01 Messages postés 81 Date d'inscription   Statut Membre Dernière intervention  
 
quel message d'erreur?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
si il n'y avait pas de message d'erreur avant, quel était le soucis?
0
Tempus01 Messages postés 81 Date d'inscription   Statut Membre Dernière intervention  
 
L'erreur se produit lorsque je relance le form Paramètres.

si je remplace votre code
monStreamWriter.WriteLine(cint(CheckBox1.Checked))
par l'ancien:
monStreamWriter.WriteLine(CheckBox1.Checked.ToString)
il n'y a plus l'erreur.
0
Utilisateur anonyme
 
Bonsoir

Cbool, ce n'est pas du VB.Net, c'est un "reste" de VB6.

Utilise Boolean.Parse si tu es sûr et certains qu'en entrée il y a toujours "True" ou "False" et si tu n'es pas sûr alors il faut utilise Boolean.TryParse.


Pour ne plus mélanger VB6 et VB.Net, tu peux (devrais) aller dans les références et décocher "Microsoft.VisualBasic".

0

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

Posez votre question
Tempus01 Messages postés 81 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir,
Merci pour l'info, c'est intéressent.
0