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 :

chaines de caractères vides


Sujet :

C#

  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Par défaut chaines de caractères vides
    salut tt le monde, je voudrais savoir la solution pour répondre à mes besoins, en faite j'ai plusieurs champs de texte et je les extraires dans des fichier texte (.txt), et j'aimerais savoir comment faire pour que lorsque le champs de texte est vide il doit rien faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
                        string E139 = txt_equipe13.Text;
                        string S139 = txt_score13.Text;
                        string S149 = txt_score14.Text;
                        string E149 = txt_equipe14.Text;
     
     
                        string R79 = E139 + ";" + S139 + ";" + S149 + ";" + E149 + ";";
     
     
                        fichier1.WriteLine(R19 + R29 + R39 + R49 + R59 + R69 + R79);
                        fichier1.Close();
    je veux que lorsque les 4 champs de textes sont vides , il doit rien faire et il doit extraire les données que lorsque les 4 champs sont remplis. merci d'avance

  2. #2
    Membre expérimenté
    Homme Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de Projet
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2012
    Messages : 113
    Par défaut
    Bonsoir,

    Il s'agit de tester les différentes variables. Tu peux le faire via la méthode String.IsNullOrEmpty :

    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
     
    string E139 = txt_equipe13.Text;
    string S139 = txt_score13.Text;
    string S149 = txt_score14.Text;
    string E149 = txt_equipe14.Text;
     
    if (!String.IsNullOrEmpty(E139) ||
        !String.IsNullOrEmpty(S139) ||
        !String.IsNullOrEmpty(S149) ||
        !String.IsNullOrEmpty(E149)
    {
       string R79 = E139 + ";" + S139 + ";" + S149 + ";" + E149 + ";";
       fichier1.WriteLine(R19 + R29 + R39 + R49 + R59 + R69 + R79);
    }
     
    fichier1.Close();
    Après, je n'ai pas trop compris s'il fallait que tous les champs soient non nuls ou s'il suffisait qu'il y en ait un non nul (méthode mise en oeuvre ci-dessus). Le principe reste toutefois le même, il n'y a que le test dans la conditionnelle à modifier.

  3. #3
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    je veux que lorsque les 4 champs de textes sont vides , il doit rien faire et il doit extraire les données que lorsque les 4 champs sont remplis. merci d'avance


    ou bien faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    string E139 = txt_equipe13.Text;
    string S139 = txt_score13.Text;
    string S149 = txt_score14.Text;
    string E149 = txt_equipe14.Text;
     
    if (!String.IsNullOrEmpty((E139+S139+S149+E149).Trim()))//trim pour vider les espaces 
    {
       string R79 = E139 + ";" + S139 + ";" + S149 + ";" + E149 + ";";
       fichier1.WriteLine(R19 + R29 + R39 + R49 + R59 + R69 + R79);
    }
     
    fichier1.Close();

  4. #4
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Par défaut
    j'ai essayé ton code mais ça marche pas, il renvoi un vide total, c a d il n'a rien écrire, j'explique encore, moi j'ai besoin d'extraire le contenue des champs textes de chacune et tout dans un seul fichier texte mais lorsque les 4 champs sont vides j'en pas besoin d'envoyé le contenu ; voila lo code dans le bouton:





    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    private void btn_Exporter_Click(object sender, EventArgs e)
            {
                try
                {
                    FileStream fs = new FileStream(@"c:\LigueStats\data\TXT\Résultats.txt", FileMode.Create);
                    StreamWriter fichier = new StreamWriter(fs);
     
                    string E1 = txt_equipe1.Text;
                    string S1 = txt_score1.Text;
                    string S2 = txt_score2.Text;
                    string E2 = txt_equipe2.Text;             
     
                    string R1 = E1 + " " + S1 + "-" + S2 + " " + E2 + "\r\n";
     
                    string E3 = txt_equipe3.Text;
                    string S3 = txt_score3.Text;
                    string S4 = txt_score4.Text;
                    string E4 = txt_equipe4.Text;
     
                    string R2 = E3 + " " + S3 + "-" + S4 + " " + E4 + "\r\n";
     
                    string E5 = txt_equipe5.Text;
                    string S5 = txt_score5.Text;
                    string S6 = txt_score6.Text;
                    string E6 = txt_equipe6.Text;
     
                    string R3 = E5 + " " + S5 + "-" + S6 + " " + E6 + "\r\n";
     
                    string E7 = txt_equipe7.Text;
                    string S7 = txt_score7.Text;
                    string S8 = txt_score8.Text;
                    string E8 = txt_equipe8.Text;
     
                    string R4 = E7 + " " + S7 + "-" + S8 + " " + E8 + "\r\n";
     
                    string E9 = txt_equipe9.Text;
                    string S9 = txt_score9.Text;
                    string S10 = txt_score10.Text;
                    string E10 = txt_equipe10.Text;
     
                    string R5 = E9 + " " + S9 + "-" + S10 + " " + E10 + "\r\n";
     
                    string E11 = txt_equipe11.Text;
                    string S11 = txt_score11.Text;
                    string S12 = txt_score12.Text;
                    string E12 = txt_equipe12.Text;
     
                    string R6 = E11 + " " + S11 + "-" + S12 + " " + E12 + "\r\n";
     
     
     
                    string E13 = txt_equipe13.Text;
                    string S13 = txt_score13.Text;
                    string S14 = txt_score14.Text;
                    string E14 = txt_equipe14.Text;
     
                    string R7 = E13 + " " + S13 + "-" + S14 + " " + E14;
     
                    string RTotal = R1 + R2 + R3 + R4 + R5 + R6 + R7;
     
     
                    fichier.Write(RTotal);
                    fichier.Close();

  5. #5
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (!String.IsNullOrEmpty((E139+S139+S149+E149).Trim()))//trim pour vider les espaces 
    {
    }
    ça veux dire que si les 4 string sont vides tu n’aura rien à afficher

    si tu veux teste si toutes les string sont vides il suffit que les concaténer et tester sur l string resultat car

    vide+vide+vide+vide=vide c'est évident (sous le cas au il y'a des espaces dans tes string d'ou le rôle de Trim).

    alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (!String.IsNullOrEmpty((E139+S139+S149+E149).Trim()))//trim pour vider les espaces 
    {
    }
    sera ok si l'un des string est non vide . et je pense que c'est ce que tu cherche à faire tu me peux donner comment ta utiliser ce code dans ton clique bouton

  6. #6
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Par défaut
    lorsque je tape ton code mon ami, mon fichier du texte est totalement vide, et c'est pas ça ce que je veux, je veux qu'il envoi les données de reste des champs

  7. #7
    Membre éprouvé Avatar de zhouyu
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 90
    Par défaut
    Salut.
    Ça vient peut être de la façon dont tu ouvres le fichier. Si tu ne lui dit pas de rajouter à la suite lors de l'écriture il écrase le fichier.

  8. #8
    Membre éprouvé Avatar de zhouyu
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 90
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    string E1 = txt_equipe1.Text;
                    string S1 = txt_score1.Text;
                    string S2 = txt_score2.Text;
                    string E2 = txt_equipe2.Text;             
     
                    string R1 = E1 + " " + S1 + "-" + S2 + " " + E2 + "\r\n";
    De plus tu dois testes ton Ri avant de lui assigner "E1 + " " + S1 + "-" + S2 + " " + E2 + "\r\n" car elle ne sera jamais vide sinon vu que tu lui rajoutes des "-" et "\r\n".

    Je ferai un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (!String.IsNullOrEmpty((E1+S1+S2+E2).Trim()))//trim pour vider les espaces
    {
          R1 = E1 + " " + S1 + "-" + S2 + " " + E2 + "\r\n";
    }else{
          R1 = "";
    }
    A la fin tu testes si tes Ri sont différents de la chaîne vide.

  9. #9
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Par défaut
    Salut!!

    Essai ca:
    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
                using (StreamWriter sw = new StreamWriter(@"C:\LigueStats\data\TXT\Résultats.txt"))
                {
                    string write = string.Empty;
                    List<string> concat = new List<string>();
                    concat.Add(txt_equipe13.Text);
                    concat.Add(txt_score13.Text);
                    concat.Add(txt_score14.Text);
                    concat.Add(txt_equipe14.Text);
     
                    foreach (string concatText in concat)
                    {
                        if (!String.IsNullOrEmpty(concatText))
                            write += concatText + ";";
                        //else    
                        //{
                        //    write = string.Empty;
                        //    break;
                        //}
                    }
     
                    if(!String.IsNullOrEmpty(write))
                        sw.WriteLine(write + "\r\n");
                }
    Edit : La partie en //com quitte si un champs est vide, or dans ton cas (si j'ai compris ta demande) on écris avec minimum un champs sur les 4 de remplis.

  10. #10
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Par défaut
    Citation Envoyé par zhouyu Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    string E1 = txt_equipe1.Text;
                    string S1 = txt_score1.Text;
                    string S2 = txt_score2.Text;
                    string E2 = txt_equipe2.Text;             
     
                    string R1 = E1 + " " + S1 + "-" + S2 + " " + E2 + "\r\n";
    De plus tu dois testes ton Ri avant de lui assigner "E1 + " " + S1 + "-" + S2 + " " + E2 + "\r\n" car elle ne sera jamais vide sinon vu que tu lui rajoutes des "-" et "\r\n".

    Je ferai un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (!String.IsNullOrEmpty((E1+S1+S2+E2).Trim()))//trim pour vider les espaces
    {
          R1 = E1 + " " + S1 + "-" + S2 + " " + E2 + "\r\n";
    }else{
          R1 = "";
    }
    A la fin tu testes si tes Ri sont différents de la chaîne vide.




    j'ai essayé ton code zhouyu, ça marche, j'ai extrait les données que je voulais mais il renvoi des lignes vides dans le fichier texte , c a d que j'ai laissé autres champs vides , et moi je veux que le curseur s’arrête au dernier élément. je ne veux pas des lignes vides

  11. #11
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Par défaut
    Ajoute cette méthode pour trouver tous les textboxes:

    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
            private List<T> GetControlList<T>(ControlCollection controlCollection) where T : Control
            {
                var newlist = new List<T>();
     
                foreach (Control control in controlCollection)
                {
                    if (control is T) // This is cleaner
                        newlist.Add((T)control);
     
                    if (control.HasControls())
                        newlist.AddRange(GetControlList<T>(control.Controls));
                }
     
                return newlist;
            }
    Modifies ce code pour tes besoins.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Console.WriteLine(String.Join(";", GetControlList<TextBox>(Page.Controls).FindAll(x => !String.IsNullOrEmpty(x.Text)).ConvertAll(x => x.Text)));

  12. #12
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Par défaut
    Citation Envoyé par Babyneedle Voir le message
    Ajoute cette méthode pour trouver tous les textboxes:

    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
            private List<T> GetControlList<T>(ControlCollection controlCollection) where T : Control
            {
                var newlist = new List<T>();
     
                foreach (Control control in controlCollection)
                {
                    if (control is T) // This is cleaner
                        newlist.Add((T)control);
     
                    if (control.HasControls())
                        newlist.AddRange(GetControlList<T>(control.Controls));
                }
     
                return newlist;
            }
    Modifies ce code pour tes besoins.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Console.WriteLine(String.Join(";", GetControlList<TextBox>(Page.Controls).FindAll(x => !String.IsNullOrEmpty(x.Text)).ConvertAll(x => x.Text)));
    ton code très compliquée mon ami, j'ai modifié mon code mais j'ai pas trouvé la solution toujours il me donne un vide(une ligne vide) dans la dernière ligne si je met les champs E13,S13,S14,E14, et moi je voulais avoir juste 5 lignes remplis par exemple dans ce cas, c a d dans la fichier texte de sortie je voulais voir juste 6 lignes remplis, puisque j'ai laissé les champs E13,S13,S14,E14 vident , et voila, j'éspère que j'ai bien expliqué et voila un extrais: et merci d'avance (aidez moi SVP)

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    FileStream fs = new FileStream(@"c:\LigueStats\data\TXT\Résultats_Matchs.txt", FileMode.Create);
                    StreamWriter fichier = new StreamWriter(fs);
     
                    string E1 = txt_equipe1.Text;
                    string S1 = txt_score1.Text;
                    string S2 = txt_score2.Text;
                    string E2 = txt_equipe2.Text;
     
     
     
                    R1 = E1 + " " + S1 + "-" + S2 + " " + E2 + "\r\n";
     
     
     
                    string E3 = txt_equipe3.Text;
                    string S3 = txt_score3.Text;
                    string S4 = txt_score4.Text;
                    string E4 = txt_equipe4.Text;
     
                    R2 = E3 + " " + S3 + "-" + S4 + " " + E4 + "\r\n";
     
     
     
                    string E5 = txt_equipe5.Text;
                    string S5 = txt_score5.Text;
                    string S6 = txt_score6.Text;
                    string E6 = txt_equipe6.Text;
     
                    R3 = E5 + " " + S5 + "-" + S6 + " " + E6 + "\r\n";
     
     
     
                    string E7 = txt_equipe7.Text;
                    string S7 = txt_score7.Text;
                    string S8 = txt_score8.Text;
                    string E8 = txt_equipe8.Text;
     
                    R4 = E7 + " " + S7 + "-" + S8 + " " + E8 + "\r\n";
     
     
     
                    string E9 = txt_equipe9.Text;
                    string S9 = txt_score9.Text;
                    string S10 = txt_score10.Text;
                    string E10 = txt_equipe10.Text;
     
                    R5 = E9 + " " + S9 + "-" + S10 + " " + E10 + "\r\n";
     
     
                    string E11 = txt_equipe11.Text;
                    string S11 = txt_score11.Text;
                    string S12 = txt_score12.Text;
                    string E12 = txt_equipe12.Text;
     
                    R6 = E11 + " " + S11 + "-" + S12 + " " + E12 + "\r\n";
     
     
     
                    string E13 = txt_equipe13.Text;
                    string S13 = txt_score13.Text;
                    string S14 = txt_score14.Text;
                    string E14 = txt_equipe14.Text;
     
                    if (!String.IsNullOrEmpty((E13 + S13 + S14 + E14)))//trim pour vider les espaces 
                    {
     
                        R7 = E13 + " " + S13 + "-" + S14 + " " + E14;
                    }
                    else
                    {
     
                        return;
                    }
     
     
                    RTotal = R1 + R2 + R3 + R4 + R5 + R6 + R7;
     
                    fichier.Write(RTotal);
     
                    fichier.Close();

  13. #13
    Membre expérimenté
    Homme Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de Projet
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2012
    Messages : 113
    Par défaut
    Bonsoir,

    Tout d'abord, sache que le rouge en taille XXL, c'est relativement agressif. Ce n'est pas parce que les solutions qui te sont proposées ne te conviennent pas qu'il faut nous "hurler" dans les yeux.

    Le problème, qui te semble peut être très clair n'est pas obligatoirement évident pour les autres, surtout au vue, sans vouloir te vexer, de tes nombreuses imprécisions.

    Quoiqu'il en soit, voici un code qui devrait marcher.
    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
     
     
    FileStream fs = new FileStream(@"c:\LigueStats\data\TXT\Résultats_Matchs.txt", FileMode.Create);
                    StreamWriter fichier = new StreamWriter(fs);
                    List<string> lines = new List<string>();
     
                    string E1 = txt_equipe1.Text;
                    string S1 = txt_score1.Text;
                    string S2 = txt_score2.Text;
                    string E2 = txt_equipe2.Text;
     
                    if (!String.IsNullOrEmpty(E1 + S1 + S2 + E2))
                    { 
                       lines.Add(E1 + " " + S1 + "-" + S2 + " " + E2);
                    }
     
     
                    string E3 = txt_equipe3.Text;
                    string S3 = txt_score3.Text;
                    string S4 = txt_score4.Text;
                    string E4 = txt_equipe4.Text;
     
                    if (!String.IsNullOrEmpty(E3 + S3 + S4 + E4))
                    { 
                       lines.Add(E3 + " " + S3 + "-" + S4 + " " + E4);
                    }
     
                    // A répéter pour les autres textbox
     
                    RTotal = String.Join("\r\n", lines);
     
     
                    fichier.Write(RTotal);
     
                    fichier.Close();

  14. #14
    Membre éprouvé Avatar de zhouyu
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 90
    Par défaut
    Salut.
    Je crois avoir trouvé pourquoi tu as toujours une ligne vide à la fin.
    C'est à cause du "\n" qu'on rajoute à la fin de chaque chaque Ri ^^
    Vu qu'il n'y a rien après la dernière tu as l'impression d'avoir une ligne vide je pense.

  15. #15
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Par défaut
    Citation Envoyé par ElTotor Voir le message
    Bonsoir,

    Tout d'abord, sache que le rouge en taille XXL, c'est relativement agressif. Ce n'est pas parce que les solutions qui te sont proposées ne te conviennent pas qu'il faut nous "hurler" dans les yeux.

    Le problème, qui te semble peut être très clair n'est pas obligatoirement évident pour les autres, surtout au vue, sans vouloir te vexer, de tes nombreuses imprécisions.

    Quoiqu'il en soit, voici un code qui devrait marcher.
    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
     
     
    FileStream fs = new FileStream(@"c:\LigueStats\data\TXT\Résultats_Matchs.txt", FileMode.Create);
                    StreamWriter fichier = new StreamWriter(fs);
                    List<string> lines = new List<string>();
     
                    string E1 = txt_equipe1.Text;
                    string S1 = txt_score1.Text;
                    string S2 = txt_score2.Text;
                    string E2 = txt_equipe2.Text;
     
                    if (!String.IsNullOrEmpty(E1 + S1 + S2 + E2))
                    { 
                       lines.Add(E1 + " " + S1 + "-" + S2 + " " + E2);
                    }
     
     
                    string E3 = txt_equipe3.Text;
                    string S3 = txt_score3.Text;
                    string S4 = txt_score4.Text;
                    string E4 = txt_equipe4.Text;
     
                    if (!String.IsNullOrEmpty(E3 + S3 + S4 + E4))
                    { 
                       lines.Add(E3 + " " + S3 + "-" + S4 + " " + E4);
                    }
     
                    // A répéter pour les autres textbox
     
                    RTotal = String.Join("\r\n", lines);
     
     
                    fichier.Write(RTotal);
     
                    fichier.Close();





    apparemment tu es hypersensitf au couleur rouge, alors je retourne au couleur noir

    merci pour votre aide mon ami, mais il y a un petit erreur au niveau de la ligne RTotal = String.Join("\r\n", lines);

    et voila l’exceptions:

    Erreur 1 La méthode surchargée correspondant le mieux à 'string.Join(string, string[])' possède des arguments non valides


    Erreur 2 Argument 2*: impossible de convertir de 'System.Collections.Generic.List<string>' en 'string[]'




    merci d'avance

  16. #16
    Membre expérimenté
    Homme Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de Projet
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2012
    Messages : 113
    Par défaut
    Citation Envoyé par tigana_007 Voir le message
    apparemment tu es hypersensitf au couleur rouge, alors je retourne au couleur noir
    Oui, j'avoue

    Sinon, pour l'erreur que tu rencontres, avec quelle version du Framework .Net travailles tu ?

    Car j'ai l'habitude de travailler avec la 4 et j'ai accès à cette méthode, et d'après la doc officielle (http://msdn.microsoft.com/en-us/libr...vs.100%29.aspx), cette méthode n'est apparue qu'avec .Net 4 ! Donc si tu es en 3 ou 3.5 par exemple, c'est normal que cela ne fonctionne pas.

    Quoi qu'il en soit, une légère modification règlera alors ton problème : l'utilisation de ToArray() !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RTotal = String.Join("\r\n", lines.ToArray())
    Et si ToArray n'est pas disponible, assure toi d'inclure l'espace de nom System.Linq

  17. #17
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Edit: grilled

  18. #18
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Par défaut
    Bon, je vais descendre au niveau étudiant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var mesTxtBox = new List<TextBox>();
    mesTxtBox.Add(txt_equipe1);
    mesTxtBox.Add(txt_score1);
    mesTxtBox.Add(txt_score2);
    mesTxtBox.Add(txt_equipe2);
     
     
    Console.WriteLine(String.Join(";", mesTxtBox.ConvertAll(x => x.Text)));

  19. #19
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Par défaut
    Citation Envoyé par ElTotor Voir le message
    Oui, j'avoue

    Sinon, pour l'erreur que tu rencontres, avec quelle version du Framework .Net travailles tu ?

    Car j'ai l'habitude de travailler avec la 4 et j'ai accès à cette méthode, et d'après la doc officielle (http://msdn.microsoft.com/en-us/libr...vs.100%29.aspx), cette méthode n'est apparue qu'avec .Net 4 ! Donc si tu es en 3 ou 3.5 par exemple, c'est normal que cela ne fonctionne pas.

    Quoi qu'il en soit, une légère modification règlera alors ton problème : l'utilisation de ToArray() !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RTotal = String.Join("\r\n", lines.ToArray())
    Et si ToArray n'est pas disponible, assure toi d'inclure l'espace de nom System.Linq


    Bravo bravo avec le rouge // merci beaucoup Totor tu as résolu mon problème , merci infinement

  20. #20
    Membre expérimenté
    Homme Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de Projet
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2012
    Messages : 113
    Par défaut
    Comme dises nos amis anglo-saxons : you're welcome

Discussions similaires

  1. Insérer une chaine de caractères vide dans un vecteur
    Par ebenmous dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 28/06/2011, 21h55
  2. Ma DLL retourne une chaine de caractère vide.
    Par alain8550 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/01/2010, 16h28
  3. Insertion chaine de caractére vide
    Par missd12 dans le forum SQL
    Réponses: 9
    Dernier message: 01/12/2009, 15h51
  4. Réponses: 2
    Dernier message: 07/11/2007, 08h44
  5. Chaine de caractére vide
    Par etranger dans le forum Delphi
    Réponses: 3
    Dernier message: 25/05/2006, 14h45

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