Récupérer valeur Boolean dans un fichier txt

Tempus01 Messages postés 87 Statut Membre -  
Tempus01 Messages postés 87 Statut Membre -
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

5 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    que contient ton fichier SETUPTL.txt?
    0
  2. Tempus01 Messages postés 87 Statut Membre
     
    Voici son contenu.
    False
    False
    False
    True
    True
    False
    False
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      Il faut donc ensuite le relire.
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > yg_be Messages postés 23437 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
      2. Tempus01 Messages postés 87 Statut Membre > yg_be Messages postés 23437 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
      3. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Tempus01 Messages postés 87 Statut Membre
         
        quel message d'erreur?
        0
      4. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        si il n'y avait pas de message d'erreur avant, quel était le soucis?
        0
  3. Tempus01 Messages postés 87 Statut Membre
     
    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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Tempus01 Messages postés 87 Statut Membre
     
    Bonsoir,
    Merci pour l'info, c'est intéressent.
    0