Avatar billede promt Nybegynder
11. juni 2005 - 19:29 Der er 11 kommentarer og
1 løsning

Find linie i fil, og del den ud.

Jeg er igang med et program der benytter en txt fil som en lille database, jeg skal gemme noget data, samt kunne søge og vise data på skærmen fra den.

Jeg vil gerne kunne søge efter en bestemt linie og udskrive den på skærmen, delt op, se mit eks:

Indhold af demo.txt
0001,ABCDE F G H,IJK LMN
0002,ABC2E F G H,IK LMN
0003,A4CDE F f H,IJK LMN
0004,ABCE F g H,IJK LMN
0005,ABCDE F G H,kL LMN

Hvordan får jeg fat i linien der indeholder "0003,A4CDE F f H,IJK LMN" Når jeg kun kender tallet, altså 0003?
Avatar billede promt Nybegynder
11. juni 2005 - 19:31 #1
Hov, resultatet skal være delt op i 3 variabler,

var1 "0003"
var2 "A4CDE F f H"
var3 "IJK LMN"

Altså den skal dele den ud i variabler når den møder ","
Avatar billede arne_v Ekspert
11. juni 2005 - 19:37 #2
du laver en StreamReader, læser linierne en af gangen med ReadLine, laver et Split
på komma of tester om den første del er "0003"
Avatar billede nielle Nybegynder
11. juni 2005 - 19:39 #3
using System;
using System.IO;

namespace e625186
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
            using (StreamReader SR = new StreamReader(@"C:\tekstfilen.txt"))
            {
                string Line;
                while ((Line = SR.ReadLine()) != null)
                {
                    string[] Row = Line.Split(',');

                    if (Row[0] == "0003")
                    {
                        for (int i=0; i<Row.Length; i++)
                        {
                            Console.WriteLine(@"var{0} ""{1}""", i+1, Row[i]);
                        }

                        break;
                    }
                }
            }
        }
    }
}
Avatar billede promt Nybegynder
11. juni 2005 - 19:39 #4
Hvis du gider lave et hurtigt eks så er jeg en glad mand :)
Avatar billede nielle Nybegynder
11. juni 2005 - 19:39 #5
Ah...
Avatar billede promt Nybegynder
11. juni 2005 - 19:40 #6
Damn i er hurtige, jeg går igang med at teste det omlidt, så får i points når det rykker :o)
Avatar billede arne_v Ekspert
11. juni 2005 - 19:42 #7
Mit eksempel ligner:

using System;
using System.IO;

class MainClass
{
    public static void Main(string[] args)
    {
        StreamReader sr = new StreamReader(@"C:\demo.txt");
        string line;
        while((line = sr.ReadLine()) != null)
        {
            string[] parts = line.Split(",".ToCharArray());
            if(parts[0] == "0003")
            {
                Console.WriteLine(parts[0]);
                Console.WriteLine(parts[1]);
                Console.WriteLine(parts[2]);
            }
        }
        sr.Close();
    }
}
Avatar billede promt Nybegynder
11. juni 2005 - 20:03 #8
Svar lige begge to, så deler jeg dem imellem jer, bruger dog arne's eks.
Avatar billede arne_v Ekspert
11. juni 2005 - 20:07 #9
svar
Avatar billede promt Nybegynder
11. juni 2005 - 20:08 #10
Arne udgiver du ikke snart en bog? :o)
Avatar billede arne_v Ekspert
11. juni 2005 - 20:16 #11
det har jeg nok ikke tid til ...
Avatar billede nielle Nybegynder
11. juni 2005 - 20:16 #12
Arne var faktisk først - jeg afstår denne gang.
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