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

Silverlight Discussion :

Problème fonction Regex.Matches(,).Count


Sujet :

Silverlight

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 207
    Par défaut Problème fonction Regex.Matches(,).Count
    Bonjour tout le monde, j'ai un petit problème avec une fonction me retournant le nombre d'occurence de chaine dans une autre chaine
    La plupart du temps, cette fonction me retourne le bon nombre d'occurence, mais il arrive aussi qu'elle me retourne une occurence supplémentaire
    Savez vous d'ou cela peut venir?

  2. #2
    Membre confirmé
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 70
    Par défaut
    tu peux nous montrer ton code ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 207
    Par défaut
    en fait j'utilise une richtextbox (http://www.vectorlight.net/controls/rich_textbox.aspx)
    et j'ai une fonction de recherche du coup je comptabilise dans un premier temps le nombre d'occurences puis je fais une boucle afin de surligner les resultats de ma recherche dans la richtextbox

    Je viens de me rendre compte que lorsqu'une une chaine s'affiche sur plusieurs lignes dans ma richtextbox elle est comptabilisé mais pas surligner


    RichTextBox.ReturnFocus() permet de selectionner les occurences , lorqu'une erreur s'affiche sur 2 lignes elles n'est jamais sélectionné d'où mon problème

    voici 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
    36
    37
    38
    39
    40
    
    void client_GetErreurLogCompleted(object sender, Appli.ServiceWCFIdentification.GetErreurCompletedEventArgs e)
    {
    string[] infosErreur;
    infosErreur = new string[3];
    infosErreur = e.Result;
    string libelleErreur = infosErreur[0];
    string NiveauErreur = infosErreur[1];
    string Couleur = infosErreur[2];
    //Recherche de l'erreur dans la RichTextBox
    RichTextBox.SelectionStart = 0;
    //bool result = RichTextBox.Find(libelleErreur);
    bool result;
    int nb = Regex.Matches(str, libelleErreur).Count;
    for (int i = 0; i < nb; i++)
    {
    result = RichTextBox.Find(libelleErreur);
    if (result)
    {
    RichTextBox.ReturnFocus();
    byte a = (byte)(Convert.ToUInt32(Couleur.Substring(0, 2), 16));
    byte r = (byte)(Convert.ToUInt32(Couleur.Substring(2, 2), 16));
    byte g = (byte)(Convert.ToUInt32(Couleur.Substring(4, 2), 16));
    byte b = (byte)(Convert.ToUInt32(Couleur.Substring(6, 2), 16));
    var color = Color.FromArgb(a, r, g, b);
    var brush = new SolidColorBrush(color);
    ExecuteFormatting(Formatting.Background, brush);
    if (i == 0)
    {
    ComboBoxItem cbi = new ComboBoxItem();
    cbi.Background = brush;
    cbi.Content = libelleErreur;
    ComboBoxErreur.Items.Add(cbi);
    }
    NbErreurLogSelectionne++;
    }
    }
    textBlockErreur.Text = "Ce Log contient " + NbErreurLogSelectionne + " erreur(s).";
    }

  4. #4
    Membre confirmé
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 70
    Par défaut
    Tu utilises toujours le même brush, pourquoi avoir mis la déclaration dans la boucle !?

    Je pense pas que Regex.Matches n'est pas approprié dans ton cas. je t'invite a regarder le lien suivant : http://tim.oreilly.com/pub/a/oreilly...harp_0101.html

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 207
    Par défaut
    non en fait cela vient pas de ma fonction Regex.Match mais du changement de format lorsque je diminue la taille de ma police , je n'ai pas ce problème en fait il apparait que lorsque une chaine que je recherche se situe sur deux lignes voir plus

Discussions similaires

  1. [XL-2007] Problème avec la fonction Application.match
    Par la_fouine1806 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/02/2013, 14h40
  2. Réponses: 0
    Dernier message: 06/04/2011, 22h16
  3. Problème fonction Match
    Par johannj dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/08/2010, 16h43
  4. Problème fonction Count
    Par nb_fr31 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 15/10/2009, 12h10
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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