Avatar billede maabjerg Nybegynder
20. juni 2005 - 13:18 Der er 5 kommentarer og
1 løsning

Hvordan kan man søge i en .txt fil og fremvise det i en listbox?

Hej

Jeg sidder og er ved at lave en telefonbog i C# bare sådan lidt for sjovt.

Men jeg er nået dertil hvor jeg gerne vil kunne søge i den fil jeg har der hedder:

book.dat hvor jeg gemmer alle data i format af:

Navn - telefonnummer

hvordan kan jeg gøre sådan at jeg kan søge efter et evt. telefonnummer og så lister den resultatet i en listbox?

På forhånd tak for hjælpen..

Med venlig hilsen
Steffen Maabjerg
Avatar billede nielle Nybegynder
20. juni 2005 - 19:20 #1
private void button1_Click(object sender, System.EventArgs e)
{
    string TelefonNr = this.listBox1.Text;

    using (StreamReader SR = new StreamReader(@"C:\Source.C#\e627225\book.dat"))
    {
        string Line;
        while ((Line = SR.ReadLine()) != null)
        {
            if (Line.EndsWith(TelefonNr))
                this.listBox1.Items.Add(Line);
        }
    }
}
Avatar billede maabjerg Nybegynder
20. juni 2005 - 22:30 #2
Hey

Det virker sådan set :)

Men de er et problem nu.. for jeg vil gerne have resultaterne vist i den samme listbox som der normalt  bliver listet numre i, men den skal fjerne de andre så det kun er resultatet der bliver vist.

men den adder bare det dobbelte igen.

private void button1_Click_1(object sender, EventArgs e)
        {
            string TelefonNr = this.searchWord.Text;

            using (StreamReader SR = new StreamReader(@"C:\\telefonbog\\data\\book.dat"))
            {
                string Line;
                while ((Line = SR.ReadLine()) != null)
                {
                    if (Line.EndsWith(TelefonNr))
                        this.book.Items.Clear();
                        this.book.Items.Add(Line);
                }
            }
        }

Hvad kan det skyldes?
Avatar billede maabjerg Nybegynder
20. juni 2005 - 22:34 #3
Har jeg fået den til at lade være med nu, men kom til at tænke på.. kan den kun søge efter det sidste i linjen,?.. - for jeg kan kun søge efter telefonnumre, og ikke navne.
Avatar billede nielle Nybegynder
20. juni 2005 - 22:48 #4
Nej da, du kan sagtens søge efter noget som ligger andre steder i strengen:

if (Line.IndexOf(TelefonNr) != -1)
    this.listBox1.Items.Add(Line);
Avatar billede maabjerg Nybegynder
20. juni 2005 - 23:27 #5
fedest :D det virker :D.. - opret lige et svar så får du Points.
Avatar billede nielle Nybegynder
21. juni 2005 - 06:27 #6
Svar :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester