Autor Beitrag
TomyH
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mi 13.05.09 15:06 
Hi Leute,
bin seit ewigen Zeiten mal wieder am Rechner um was wirklich sinnvolles zu programmieren. Leider bin ich total raus und dazu noch in C# nicht der größte Held.
Ok hier mein Problem.
Ich habe eine Textdatei, variable Größe, und relativ variabler Inhalt.
Aber vom Prinzip her immer gleicher Aufbau.

// Erster Abschnitt// --> uninteressant

// Zweiter Abschnitt // unterschiedlich viele Zeilen --> bräuchte ich immer das erste Wort in der Zeile, wenn das letzte Element jeder Zeile eine Zahl ist, die Zeile bräuchte ich dann auch noch im gleichen Array oder was auch immer.

// Sehr viele Abschnitte //
Hier müßte ich nach dem jeweils gespeicherten Wort suchen und dann aus diesen jeweiligen Abschnitt 2 Zahlen auslesen, die in 2 aufeinandervollgenden Zeilen stehn.

Das ganze überfordert mich zur Zeit echt total!
Hab klar mit Streamreader schon die ganze Datei ausgelesen, kann mir auch die komplette Datei in der Console usw. anzeigen lassen, aber dass ich hier so univerell arbeite wie nötig, und eben im zweiten Abschnitt immer nur je das erste Wort speicher und die dazugehörigen Zahlen, bekomm ich net hin.
Ach ja klar also die weiteren Zahlen muß ich natürlich auch immer noch zu diesem Wort dazu speichern, und das ganze soll dann nachher eine Art DataGrid oder so werden die ich dann übergeben kann.
Ich glaub ich übergeb mich auch gleich ;-)
Ich danke euch jetzt schon für eure Hilfe, leider kann ich die Textdatei hier nicht reinkopieren, ist etwas vertraulich!
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Mi 13.05.09 16:20 
Hallo TomyH, :welcome:

was meinst du mit Abschnitt? Einen Zeilenumbruch (mehrere?)?

Bitte häng ein Beispiel an, du kannst ja die vertraulichen Daten abändern, damit man weiß was du genau willst. Ich kann mir so die Struktur deiner Datei noch nicht vorstellen.

Gruß Daniel
TomyH Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 14.05.09 11:57 
Hi,
so in etwa würde das ganze dann aussehn.

Hier ist der erste Abschnitt
Hier ist der erste Abschnitt
Hier ist der erste Abschnitt
Hier ist der erste Abschnitt
Hier ist der erste Abschnitt

Hier ist der zweite Abschnitt
Hier ist der zweite Abschnitt
hallo1, bla bla 1
hallo2, bla bla 4
hallo3, bla bla 0
hallo4, bla bla 2
hallo5, bla bla 1
hallo6, bla bla 6
hallo7, bla no commu
hallo8, bla no commu
hallo9, bla no commu
Papa, bla no commu
Mama, bla no commu
Ich, bla no commu
Das_ist_so, bla bla 1
Das_bleibt_so, bla bla 1



Infos zu hallo1
das steht viel drin
Woche 09/08 und noch was
Jahr 07/09/09 hier auch noch was


Infos zu hallo2
das steht viel drin
Woche 09/08 und noch was
Jahr 07/09/09 hier auch noch was



Infos zu hallo3
das steht viel drin
Woche 09/08 und noch was
Jahr 07/09/09 hier auch noch was



Infos zu Papa
das steht viel drin
Woche 09/08 und noch was
Jahr 07/09/09 hier auch noch was



Infos zu Mama
das steht viel drin
Woche 09/08 und noch was
Jahr 07/09/09 hier auch noch was



Infos zu Das_ist_so
das steht viel drin
Woche 09/08 und noch was
Jahr 07/09/09 hier auch noch was

also wichtig wären dann bei mir im 2ten abschnitt jeweils das erste wort plus die Zahl, und dann immer die woche und jahr, hier aber eben wieder die Zahl und das immer passend zu dem ersten wort.
also als beispiel:
hallo1, 1, 09/08, 07/09/09, wäre was ich zu hallo1 bräuchte.
Hoffe so wird es klarer!!sonst bitte weiter fragen!
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4805
Erhaltene Danke: 1061

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 14.05.09 12:34 
Am besten, du liest die ganze Datei erstmal mit File.ReadAllLines() ein und arbeitest dann nur noch auf dem zurückgegebenen String-Array.

Und dann mußt du halt Zeile für Zeile lesen (parsen) und die wichtigen Daten auslesen.
Überleg dir welche Schlüsselwörter du als Anhangspunkt nimmst, z.B.
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
String[] strings = File.ReadAllLines("Dateiname");

for(int i=0; i<strings.Length; i++)
{
  if(strings[i].IndexOf("Abschnitt") >= 0)
  {
    ...
  }
}
TomyH Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 14.05.09 12:59 
DAnke, super Tip,
bei File.ReadAllLines() bin ich auch gerade.
Mein Prob ist nur, ich kann nicht nach Schlüsselwörtern suchen, denn je nach Datei sind die Wörter immer unterschiedlich, sprich ich muß immer nach dem ersten Wort in der Zeile suchen, nur dass dieses immer anders lauten kann.
Und wenn am Ende im Zweiten Abschnitt keine Zahl steht brauch ich diese Zeile gar nicht, aber glaub da habe ich schon ne Idee wie ich das Mach!
Vielen Dank, aber für die unglaublich schnelle Hilfe!!
Setz später mal noch rein was ich bisher an Code hab.
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Do 14.05.09 14:19 
Hey,

ich hab hier mal was zusammen getippt...

Gruß Daniel
Einloggen, um Attachments anzusehen!
TomyH Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 14.05.09 15:48 
Hi,
Vielen vielen Dank Daniel!!!!!!!!!!!!!!
Jetzt werde ich fleissig in deinem Code arbeiten um ihn zu verstehen und ihn so anzupassen, wie ich ihn brauche, sprich auf das jeweilige File.
Mit der Demo ich geschickt hab klappt es ja super!!!
You are so great!!!!!
Wenn ich noch fragen hab, hoffe ich, dass ich mich melden darf!
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Fr 15.05.09 09:21 
Hey,

bitteschön. Klar kannst dich jederzeit melden, das soll nur eine Vorlage sein. Ich bin im erklären nicht so gut.. da schreib ich lieber Code, der ist eindeutig ;)

Gruß Daniel
TomyH Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mi 03.06.09 08:55 
Hi @ all,
vielen Dank nochmals Danielf, aber ich bekomm es nicht gebacken!!
Verflixt, wäre es möglich dass ich dir per pn mal die richtige Datei schicke, ich bekomm deinen Code einfach nicht zurecht gebogen. Verflixt, man bin ich schlecht geworden :-(
Bekomm ja schon ein prob, wenn ich die txt Datei nicht im C# drin hab sondern eine Variable mit dem Pfad angeb, sorry, is mir ja echt peinlich.

Ach sorry nochmals dass ich mich so lang nicht gemeldet hab, bin 2 Wochen ganz spontan in Urlaub geflogen ;-)
Greetz und DANKE
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Mi 03.06.09 10:35 
Hi,

nur zu...

Gruß Daniel