none
CsharpFonction RRS feed

  • Question

  • Salut

    Je cherche comment chercher un mot sur un TextBox ,et   donner numéro de ligne qui contiens cet mot 

    Ex : j'ai un TextBox  et un Bouton , et je veux que quand on clique sur le Boutton il nous donne  le numéro de ligne qui contien "exe" et afficher dans un Label.

    exemple : 

    Étude d'exécution : Une étude dans le cadre d'exécution d'un contrat de Marché public

    Exe : Une rivière dans le Somerset

    Label afficher : 2

    car exe deja aux 2 eme ligne

    et merci bien .


    • Modifié sirinee dimanche 6 mai 2012 16:35
    dimanche 6 mai 2012 16:30

Réponses

  • Bonjour,

    Je vous ai fait une petite application Winform en C# qui répond à votre question.

    Juste une remarque, dans votre question vous ne précisez pas le cas où la chaîne de caractères à rechercher se trouve dans plusieurs lignes. Ainsi, dans la fonction de recherche j'affiche le numéro de la première ligne où la chaîne se trouve.

    Je vous ai mis à disposition le code source et l'exe ici.

    L'algorithme de recherche peut être écrit dans le language que vous désirez (VB, C++, Javascript ...). Lisez bien les commentaires.

    using System;
    using System.Windows.Forms;
    
    namespace bb3a9147_d304_4504_b308_bfdb8b691867
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                richTextBox1.Text =
                    "Étude d'exécution : Une étude dans le cadre d'exécution d'un contrat de Marché public" + "\r\n" +
                    "Exe : Une rivière dans le Somerset";
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                if (!string.IsNullOrEmpty(textBox1.Text))
                {
                    //
                    // Récupérer les lignes
                    //
                    var lines = richTextBox1.Text.Split('\n');
    
                    //
                    // Determine si la chaîne de caractères a été trouvée
                    //
                    bool found = false;
    
                    //
                    // Parcourir ligne par ligne et rechercher
                    //
                    for (int i = 0; i < lines.Length; i++)
                    {
                        if (lines[i].Contains(textBox1.Text))
                        {
                            MessageBox.Show("la chaîne de caractères " + textBox1.Text + " se trouve dans la ligne " + (i + 1));
                            found = true;
                            break;
                        }
                    }
    
                    //
                    // si aucune ligne ne contient la chaîne de recherche, afficher une message
                    //
                    if (!found) MessageBox.Show("La chaîne de caractères " + textBox1.Text + " n'a pas été trouvée.");
                }
            }
        }
    }
    

    Cordialement,


    My blog

    Whether you’re a construction worker, a forum moderator, or just someone that likes helping people. I think these guidelines can be helpful in keeping you helpful when being helpful.

    mardi 8 mai 2012 11:46
    Auteur de réponse

Toutes les réponses

  • Salut

    voila un petit exemple pour t'aider

    on recupere le texte dans une variable, ensuite on cherche la position de notre texte rechercher (ici exe) et on recoit la ligne de cette position

    private void Button1_Click(System.Object sender, System.EventArgs e)
    {
    	//on recupere le texte contenu dans notre textbox avec la variable str
    	string str = TextBox1.Text;
    	//on entre notre texte a rechercher
    	string rech = "exe";
    	//la methode indexof renvoi la position du premier caractere de notre texte recherchée
    	int i = str.IndexOf(rech.ToCharArray());
    	//la methode getlinefromcharindex(i) renvoi la ligne ou se trouve l'index donné
    	Label1.Text = TextBox1.GetLineFromCharIndex(i);
    
    }

    cordialement


    la FOI déplace les montagnes et bien DOTNET les effaces complétement.

    dimanche 6 mai 2012 17:23
  • cet code est code csharp windows forme ou nn car moi je travail sur windows forme

    en+ deja je faire copier cet code et ne marche pa+ s'il vous plait tu faire une fichier de cet code et lui envoyer sur mon email xxxxxxxxxxx et merci


    dimanche 6 mai 2012 20:12
  • Bonjour,

    Pouvez-vous nous dire plus précisement ce qui vous pose problème ? Message d'erreur de compilation ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    lundi 7 mai 2012 07:13
    Modérateur
  • mmw01

    avec quel csharp ou c++ ou koi deja code du cet programme et s'il vous plait envoyer plus detail car ne marche pas envoyer lui fichier complet et merci b1

    mardi 8 mai 2012 11:08
  • Bonjour,

    Je vous ai fait une petite application Winform en C# qui répond à votre question.

    Juste une remarque, dans votre question vous ne précisez pas le cas où la chaîne de caractères à rechercher se trouve dans plusieurs lignes. Ainsi, dans la fonction de recherche j'affiche le numéro de la première ligne où la chaîne se trouve.

    Je vous ai mis à disposition le code source et l'exe ici.

    L'algorithme de recherche peut être écrit dans le language que vous désirez (VB, C++, Javascript ...). Lisez bien les commentaires.

    using System;
    using System.Windows.Forms;
    
    namespace bb3a9147_d304_4504_b308_bfdb8b691867
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                richTextBox1.Text =
                    "Étude d'exécution : Une étude dans le cadre d'exécution d'un contrat de Marché public" + "\r\n" +
                    "Exe : Une rivière dans le Somerset";
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                if (!string.IsNullOrEmpty(textBox1.Text))
                {
                    //
                    // Récupérer les lignes
                    //
                    var lines = richTextBox1.Text.Split('\n');
    
                    //
                    // Determine si la chaîne de caractères a été trouvée
                    //
                    bool found = false;
    
                    //
                    // Parcourir ligne par ligne et rechercher
                    //
                    for (int i = 0; i < lines.Length; i++)
                    {
                        if (lines[i].Contains(textBox1.Text))
                        {
                            MessageBox.Show("la chaîne de caractères " + textBox1.Text + " se trouve dans la ligne " + (i + 1));
                            found = true;
                            break;
                        }
                    }
    
                    //
                    // si aucune ligne ne contient la chaîne de recherche, afficher une message
                    //
                    if (!found) MessageBox.Show("La chaîne de caractères " + textBox1.Text + " n'a pas été trouvée.");
                }
            }
        }
    }
    

    Cordialement,


    My blog

    Whether you’re a construction worker, a forum moderator, or just someone that likes helping people. I think these guidelines can be helpful in keeping you helpful when being helpful.

    mardi 8 mai 2012 11:46
    Auteur de réponse
  • merci bien :*
    mardi 8 mai 2012 11:54