IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Problème récuperation et affichage valeur checkbox [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2015
    Messages : 20
    Par défaut Problème récuperation et affichage valeur checkbox
    Bonjour, je suis débutant en C#, j'ai un projet à réaliser pour mes études mais j'ai quelques soucis.
    Voici mon principal problème :

    J'aimerais récupérer les valeurs d'une checkbox ( true/false ) et les insérer dans un fichier texte, mon problème survient dans les lignes. Je m'explique, je récupère la valeur de ma première checkbox, elle est insérer dans la première ligne de mon fichier texte, mais lors de la récupération de la valeur de la 2eme checkbox, cette dernière s’insère également en première ligne, a la place donc de la valeur de la 1ere checkbox. J'ai réussit ( en bidouillant quelque chose de pas pro du tout) à l’insérer à la 2em ligne, mais le problème survient à la valeur de la 3em checkbox etc etc.. Le problème doit donc se résoudre à la 1ere checkbox.
    Etant tout nouveau en C#, je n'utilise peut-être (surement) pas la bonne méthode. Je vous met donc mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    private void Test1_CheckedChanged(object sender, EventArgs e)
            {
                if (Test1.Checked == true)
                {
                    string[] lines = { "TRUE" };
                    System.IO.File.WriteAllLines((openFileDialog1.FileName), lines);
     
                }
                else
                {            
                    string[] lines = { "FALSE" };
                    System.IO.File.WriteAllLines((openFileDialog1.FileName), lines);                
                }
            }
     
    private void Test2_CheckedChanged(object sender, EventArgs e)
     
            {
     
                if (Test2.Checked == true)
                {
     
                    string[] lines = { "TRUE" };
                    System.IO.File.AppendAllLines((openFileDialog1.FileName), lines);
     
                }
                else
                {
     
                    string[] lines = { "FALSE" };
                    System.IO.File.WriteAllLines((openFileDialog1.FileName), lines);
     
                }
     
            }
    Si je n'ai pas été assez précis n’hésitez pas à me poser vos questions. C'est un projet qui me tient vraiment à coeur.
    Merci d'avance de votre aide !

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    Es-tu vraiment obligé de modifier le fichier à chaque changement d'état de la check box ?

    Si oui, je te conseille d'avoir une fonction de génération du fichier et cette fonction regarder toutes les checkbox et ajoutera
    la ligne qui va bien à chaque fois dans le fichier qui sera recrée à nouveau.

  3. #3
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2015
    Messages : 20
    Par défaut
    Non je ne suis pas obligé bien au contraire, le "must" pour moi serait de pouvoir récupérer toutes les valeurs une fois que l'utilisateur ai finit de remplir le formulaire (je ne veut pas savoir si il a coché/décoché puis re-coché la checkbox, la dernière valeur seulement m’intéresse). Sachant que j'ai une bonne dizaine de checkbox, j'aimerais récupérer les valeurs de ces dernières et les écrire dans un fichier CSV les unes en dessous des autres.

  4. #4
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Par défaut
    Dans ce cas, il vaut mieux que tu ajoutes un bouton "validation" et sur le click du bouton, tu fais l’ensemble des taches suivantes:

    Tu crées une variable de type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string[] sMesValeurs;
    tu analyses tous tes checkbox, et tu ajoutes FALSE ou TRUE selon tes besoins par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    if (checkbox_name1.Checked)
       sMesValeurs.Add("TRUE")
    else
       sMesValeurs.Add("FALSE")
     
    if (checkbox_name2.Checked)
       sMesValeurs.Add("TRUE")
    else
       sMesValeurs.Add("FALSE")
    .
    .
    .
    if (checkbox_nameXXXX.Checked)
       sMesValeurs.Add("TRUE")
    else
       sMesValeurs.Add("FALSE")
    Et tu écris ton fichier par ta ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.IO.File.WriteAllLines((openFileDialog1.FileName), sMesValeurs);
    Ce sera mieux, pas parfait. Loin de là, mais déjà bien mieux

  5. #5
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2015
    Messages : 20
    Par défaut
    Merci beaucoup de votre aide je ne connaissais pas cette "méthode" la (qui est surement la solution d’ailleurs)! Par contre il me faut une directive using pour le .Add ? Car il m'est refusé !

  6. #6
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    Le plus joli serait de faire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    List<string> mesValeurs = new List<string>();
     
    foreach(Control cnt in controls)
    {
       if(cnt is checkbox)
       {
          Chechbox c = cnt as checkBox;
          mesValeurs.Add(c.Checked?"TRUE":"FALSE");
       }
    }
    Après, c'est juste que ça évite de devoir nommer toutes les checkBox et que si t'en ajoutes, supprimes, le code n'aura pas à bouger...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Problème récupération et affichage valeur TextBox
    Par BatFUT dans le forum C#
    Réponses: 3
    Dernier message: 22/06/2015, 19h16
  2. Problème ComboBox et affichage valeur
    Par jackborogar dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/07/2012, 14h24
  3. Réponses: 0
    Dernier message: 22/10/2009, 10h55
  4. affichage valeur checkbox VB.net
    Par urbanspike dans le forum VB.NET
    Réponses: 3
    Dernier message: 03/06/2009, 09h55
  5. Problème récuperation de valeur JComboBox
    Par thibs888 dans le forum AWT/Swing
    Réponses: 17
    Dernier message: 02/08/2007, 12h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo