StreamReader ListView

Hallo zusammen,

ich bin ziemlich neu im „Programmiergeschäft“ und baue grade eine kleine Anwendung. Das speicher der Daten mittel Streamwriter habe ich hinbekommen nur weiß ich nicht recht wie ich sie wieder auslesen und dort hin tun kan w sie hingehören?! Achso ich benutze eine ListView mit 7 columns. In jeder columns sind verschiedene Item bzw SubItems.

Hier der Coder aus der text-Datei

/Audi/A6/25.000 €/2005/15.000/Diesel/170 PS, ESP, ABS, Schiebedach/

Jetzt möchste ich quase Audi wieder zurück packen, A6 auch usw. usw.
Aber natürlich ohne die Slashes.

Hier mein Code vom StreamWriter

public void Speichern()
{
StreamWriter cardatabase;
cardatabase = File.AppendText(„cardatabase.txt“);
foreach (ListViewItem temp in listView1.Items)
{
string str_Temp = „“;

for (int i = 0; i

Hallo

Solche sachen findet man in der MSDN

http://msdn2.microsoft.com/de-de/library/system.io.s…

Falls dir das nicht weiterhilft

http://www.vbarchiv.net/workshop/workshop72s1.html

MFG

Sven

Als ob ich nicht wüsste wie man den StreamReader benutzt ej… les doch einfach mal das Problem durch das ich habe…! Diese MSDN Poster immer, regt mich so auf… Ist genauso wie schau ins Handbuch bla bla, klar ABER WARUM GIBT ES DANN FOREN MAN?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

ins Handbuch bla bla, klar ABER WARUM GIBT ES DANN FOREN MAN?

Ich denke um fest umrissene Problemlösungen anzubieten. Nicht aber um Anfängern das ABC beizubringen oder gar das Denken abzunehmen.

Formuliere erstmal deine Problemstellung so, dass sie auch verstanden wird und nicht so verworren wie bisher…

Und immer schön nett bleiben, sonst hilft dir sowieso keiner.

Gruß
Joey

1 Like

Als ob ich nicht wüsste wie man den StreamReader benutzt ej…

Anscheinend nicht, sonst hättest Du die triviale Aufgabe längst gelöst.
StreamReader ist doch an sich schon die richtige Klasse, wie erklärst Du Dir (und uns) dann, dass Du nicht in der Lage bist, StreamReader.ReadLine() aufzurufen?
Es verlangt niemand, sich alle Methoden/Eigenschaften aller Klassen der BCL auswendig zu merken und genau dafür ist die MSDN-Dokumentation ja auch da!

  1. Suchen. 2. Lesen. 3. Verstehen. 4. Anwenden.
    Für Punkt 1 können wir Dir helfen, wenn die Frage vernünftig gestellt wird, weil es manchmal nicht ganz einfach ist, die richtigen Klassen zu finden. Wenn man Dir durch einfaches Posten von fertigem Code Punkt 2-4 abnimmt, dann hast Du zwar eine (!) Lösung, aber beim nächsten, ähnlich gelagerten Problem musst Du wieder nachfragen.
    Du kennst doch bestimmt den Spruch „Gib einem Mann einen Fisch und er ist einen Tag nicht hungrig. Zeige ihm, wie man angelt und er wird sein Leben lang nicht mehr hungern“ - auch wenn’s plakativ klingt, gilt das selbe doch auch beim Entwickeln!

les doch einfach mal das Problem durch das ich habe…! Diese
MSDN Poster immer, regt mich so auf… Ist genauso wie schau
ins Handbuch bla bla, klar ABER WARUM GIBT ES DANN FOREN MAN?

Damit Hilfesuchende konkrete Probleme schildern und den Hilfestellern es nicht unnötig schwer machen, indem z.B. keine Fehlermeldungen gepostet werden, fertiger Code verlangt wird oder der Fragende eingeschnappt ist, wenn man ihm ob der Trivialität seiner Frage nahelegt, erst mal einen Grundlagenkurs/Tutorial/Buch zur .NET Entwicklung durchzuarbeiten.
[…]

Martin

Danke Martin für die Unterstützung gebe dir in allen Punkten recht.

Sven

Ja eben, es heisst „zeig ihme wie man angelt“ und nich „zeig ihm ein Buchladen in dem ein Buch steht wo drin steht wie man angelt“ Ich finde jemanden ist mehr geholfen wenn man den Code liest der zur Problemlösung beiträgt als immer nur auf die MSDN zu verweisen… und JA ich habe bereits VOR meinem Posting hier in die MSDN geschaut. Das eigentlich Problem ist doch nich der Streamreader.ReadLine() sonder wie ich die Daten wieder in die Richtige spalte kriege (column). In der gespeicherten Textdatei steht wie gesagt dieser Eintrag:

/Audi/A6/25.000 €/2005/15.000/Diesel/170 PS, ESP, ABS, Schiebedach/

Jetzt möchte ich quasi jeden Eintrag wieder in seine Spalte bringen! Ein Eintrag ist von / zu /. Ich hoffe ihr habt mich verstanden und sorry wenn ich mich im Ton vergriffen habe.

Danke!

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ja eben, es heisst „zeig ihme wie man angelt“ und nich „zeig ihm ein Buchladen in dem ein Buch steht wo drin steht wie man angelt“ Ich finde jemanden ist mehr geholfen wenn man den Code liest der zur Problemlösung beiträgt als immer nur auf die MSDN zu verweisen… und JA ich habe bereits VOR meinem Posting hier in die MSDN geschaut. Das eigentlich Problem ist doch nich der Streamreader.ReadLine() sonder wie ich die Daten wieder in die Richtige spalte kriege (column). In der gespeicherten Textdatei steht wie gesagt dieser Eintrag:

/Audi/A6/25.000 €/2005/15.000/Diesel/170 PS, ESP, ABS, Schiebedach/

Jetzt möchte ich quasi jeden Eintrag wieder in seine Spalte bringen! Ein Eintrag ist von / zu /. Ich hoffe ihr habt mich verstanden und sorry wenn ich mich im Ton vergriffen habe.

Danke!

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

[…]
Ok, nachdem Du jetzt genauer dargestellt hast, wo Dein Problem liegt, kann man Dir auch zielgerichtet helfen.

Für jede eingelesene Zeile musst Du letztlich folgendes machen:
Mit string.Split() aus der eingelesenen Zeile ein string-Array machen.
Ein neues ListViewItem erzeugen. Der Text des Items ist der erste Arrayeintrag - kannst du gleich im Konstruktor mitgeben.
Für jeden Arrayeintrag von Index 1 bis zum Ende des Arrays fügst Du dann dem ListViewItem noch ein SubItem hinzu, wieder mit dem n-ten Arrayeintrag.
Schließlich nur noch das neue ListViewItem in die Items -Collection des ListView s hängen, fertig.

Das ist natürlich nur eine Vorgehensweise, es gibt bestimmt noch viele andere.

Gruß,
Martin

P.S.: Als weitere Übung würde ich Dir empfehlen, das Ganze mal objektorientiert zu probieren. Also eine Klasse „Auto“ oder so zu entwickeln, die sich z.B. als XML ganz leicht serialisieren lässt.
Dann brauchst Du nämlich nicht mit StreamReader.ReadLine() und entsprechenden Splits rumzukaspern, sondern kannst es dem Framework überlassen, Deine Objekte in XML-Form zu gießen bzw. daraus wiederherzustellen.