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?
Annonceindlæg fra Novataris
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 ","
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"
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; } } } } } }
Hvis du gider lave et hurtigt eks så er jeg en glad mand :)
Damn i er hurtige, jeg går igang med at teste det omlidt, så får i points når det rykker :o)
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(); } }
Svar lige begge to, så deler jeg dem imellem jer, bruger dog arne's eks.
11. juni 2005 - 20:08
#10
Arne udgiver du ikke snart en bog? :o)
11. juni 2005 - 20:16
#11
det har jeg nok ikke tid til ...
11. juni 2005 - 20:16
#12
Arne var faktisk først - jeg afstår denne gang.
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.