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

Windows Forms Discussion :

[C#] remplacement d'un chaine grace à Replace


Sujet :

Windows Forms

  1. #1
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut [C#] remplacement d'un chaine grace à Replace
    Bonjour,

    Je souhaite du remplacement de chaine, jusque là aucun problème, mais j'ai compliqué la chose en utilisant des chaines dans des textbox. donc voilà ce que je veux faire :

    Je déclare en private 1 chaine de caractère qui sera modifié lors de l'appel d'une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private string str = "";
    Dans la fonction je modifie ma chaine par, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str = "{0}, {1}, {2}, {3}";
    Puis dans une autre fonction je veux remplacer les chaines {0} et etc... par la chaine de mes différents textbox et donc j'ai défini ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private string[] init = { "{0}", "{1}", "{2}", "{3}", "{4}", "{5}", "{6}", "{7}", "{8}" };
            public string[] texte = { textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text, textBox7.Text, textBox8.Text, textBox9.Text };
    et dans mon autre fonction je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str.Replace(init,texte)
    Mon problème actuelle c'est qu'il me met comme erreur :
    Erreur 3 Un initialiseur de champ ne peut pas faire référence au champ, à la méthode ou à la propriété non statique 'WindowsApplication1.Form1.textBox3'
    Erreur 10 La méthode surchargée correspondant le mieux à 'string.Replace(char, char)' possède des arguments non valides
    Pouvez vous m'aider ?
    Ou sinon pouvez vous me dire comment faire pour fixer ma chaine avec mes textbox dans une fonction et dans une autre fonction mettre le contenu de mes textbox comme ceci par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str = textbox.text + textbox2.text
    et qu'après dans mon autre fonction ce soit remplacé par la valeur actuelle des textbox ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    Tu devrais pourvoir faire ça avec String.Format

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String str2 = String.Format(str,  textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text, textBox7.Text, textBox8.Text, textBox9.Text);
    On ne peut pas faire boire un âne qui n'a pas soif.

  3. #3
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Merci, c'est exactement ce que je voulais donc j'ai fait ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    string[] texte = { textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text, textBox7.Text, textBox8.Text, textBox9.Text };
    textBox1.Text = string.Format(str, texte);
    Il y a pas moyen de definir une seule fois mon tableau texte, afin qu'il soit utilisté plus tard ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    Citation Envoyé par Kerod
    Il y a pas moyen de definir une seule fois mon tableau texte, afin qu'il soit utilisté plus tard ?
    Non, ce sont des propriétés. On ne peux pas supposer que les mêmes objets sont renvoyés à chaque fois.
    Dans ce cas précis, on est même sûr que l'objet est nouveau à chaque changement du texte dans un TextBox (les String sont des objets constants).
    On ne peut pas faire boire un âne qui n'a pas soif.

  5. #5
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Bon je ferais comme tu me l'as conseillé, en fait je me cassais la tête pour rien je sais même pas pourquoi je voulais en faire un variable global

    En tout cas merci, tu m'as énormément aidé sur ce coup

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

Discussions similaires

  1. Replace - remplacement dans une chaine
    Par petiteso dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/06/2007, 11h14
  2. [Chaines] Remplacement de sous chaine simple
    Par Clorish dans le forum Delphi
    Réponses: 3
    Dernier message: 28/09/2006, 13h21
  3. Retour d'une chaine grace à une fonction
    Par K0mpu73rn1kDaCS dans le forum MFC
    Réponses: 6
    Dernier message: 27/01/2006, 00h18
  4. Réponses: 2
    Dernier message: 05/01/2006, 13h15
  5. Remplacer dans une chaine de caractères à partir de la fin
    Par daddyel dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 02/01/2006, 11h31

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