Programe ListBox C sharp
benpinard
-
pjaaar Messages postés 15 Statut Membre -
pjaaar Messages postés 15 Statut Membre -
Bonjours,
J'aurais besoin d'aide a propos du C#
Je dois faire un travail qui consiste a faire un programe form avec visual studios.
Le travail consiste a prendre nimporte quel gigantesque texte et le mettre dans une listbox.
Je doit faire attention car il a des mots dans le texte qui ne son pas des mot. Les critaires sont :
si le mot commence par un chiffre on le jette (il est pas bon)
et tout les mot doivents se répetter une fois dans la liste box de sorte a ce que si il a 3 fois le mot professeur. et bin qu'il apparaisse qu'une seule fois.
Voila mon problème.
je suis capable dallez chercher mon texte grace a une openfilebox.
ensuite je le met dans une variable string. c'est a ce moment que je bloque.
Je sais pas comment m'y prendre pour scanner tout les mots du texte pour ensuite les mettre dans un tableau ?
pour ensuite les scanner pour savoir si ce sont des mots ou pas ?
voici mon code :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
namespace ClasseurMots
{
public partial class Form1 : Form
{
public string texte;
string[] listeMots;
public Form1()
{
InitializeComponent();
txtCaractères.Text = "0";
txtMotsComptés.Text = "0";
txtMotsRépertoriés.Text = "0";
}
private void btnOuvrir_Click(object sender, EventArgs e)
{
int nbrMots = 0;
DialogResult reponse = ofdFichiertexte.ShowDialog(); // obtien la réponse du ofdFichierTexte
if (reponse == DialogResult.OK)
{ // si l'utilisateur a cliquer sur ok
Stream stream = ofdFichiertexte.OpenFile(); // Ouvre le fichier
StreamReader reader = new StreamReader(stream, Encoding.Default);
texte = reader.ReadToEnd(); // le texte recu va dans la variable texte.
reader.Close(); // ferme le reader
stream.Close(); // ferme le stream
}
texte = texte.Trim().ToLower();
nbrMots = lstTexte.Items.Count;
txtMotsComptés.Text = Convert.ToString(nbrMots);
lstTexte.Sorted = true;
}
private void btnQuitter_Click(object sender, EventArgs e)
{
Close();
}
}
}
Merci a vous
Ben
J'aurais besoin d'aide a propos du C#
Je dois faire un travail qui consiste a faire un programe form avec visual studios.
Le travail consiste a prendre nimporte quel gigantesque texte et le mettre dans une listbox.
Je doit faire attention car il a des mots dans le texte qui ne son pas des mot. Les critaires sont :
si le mot commence par un chiffre on le jette (il est pas bon)
et tout les mot doivents se répetter une fois dans la liste box de sorte a ce que si il a 3 fois le mot professeur. et bin qu'il apparaisse qu'une seule fois.
Voila mon problème.
je suis capable dallez chercher mon texte grace a une openfilebox.
ensuite je le met dans une variable string. c'est a ce moment que je bloque.
Je sais pas comment m'y prendre pour scanner tout les mots du texte pour ensuite les mettre dans un tableau ?
pour ensuite les scanner pour savoir si ce sont des mots ou pas ?
voici mon code :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
namespace ClasseurMots
{
public partial class Form1 : Form
{
public string texte;
string[] listeMots;
public Form1()
{
InitializeComponent();
txtCaractères.Text = "0";
txtMotsComptés.Text = "0";
txtMotsRépertoriés.Text = "0";
}
private void btnOuvrir_Click(object sender, EventArgs e)
{
int nbrMots = 0;
DialogResult reponse = ofdFichiertexte.ShowDialog(); // obtien la réponse du ofdFichierTexte
if (reponse == DialogResult.OK)
{ // si l'utilisateur a cliquer sur ok
Stream stream = ofdFichiertexte.OpenFile(); // Ouvre le fichier
StreamReader reader = new StreamReader(stream, Encoding.Default);
texte = reader.ReadToEnd(); // le texte recu va dans la variable texte.
reader.Close(); // ferme le reader
stream.Close(); // ferme le stream
}
texte = texte.Trim().ToLower();
nbrMots = lstTexte.Items.Count;
txtMotsComptés.Text = Convert.ToString(nbrMots);
lstTexte.Sorted = true;
}
private void btnQuitter_Click(object sender, EventArgs e)
{
Close();
}
}
}
Merci a vous
Ben
3 réponses
Pour éclater ta chaîne dans un tableau de String/mot avec séparateurs ' ','\t','\n',etc:
https://docs.microsoft.com/fr-fr/dotnet/api/system.string.split?redirectedfrom=MSDN&view=netframework-4.8
Pour savoir si le mot commence par un chiffre:
https://docs.microsoft.com/en-us/dotnet/api/system.char.isdigit?redirectedfrom=MSDN&view=netframework-4.8
Pour vérifier si la listbox contient déjà le mot:
https://docs.microsoft.com/fr-fr/dotnet/api/system.windows.forms.listbox.findstringexact?redirectedfrom=MSDN&view=netframework-4.8
https://docs.microsoft.com/fr-fr/dotnet/api/system.string.split?redirectedfrom=MSDN&view=netframework-4.8
Pour savoir si le mot commence par un chiffre:
if(monString[0].isDigit())
https://docs.microsoft.com/en-us/dotnet/api/system.char.isdigit?redirectedfrom=MSDN&view=netframework-4.8
Pour vérifier si la listbox contient déjà le mot:
https://docs.microsoft.com/fr-fr/dotnet/api/system.windows.forms.listbox.findstringexact?redirectedfrom=MSDN&view=netframework-4.8