myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grundlagen von C# » File auslesen und Einträge in Combobox füllen
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

File auslesen und Einträge in Combobox füllen

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
NorbertX21 NorbertX21 ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.01.2019
Beiträge: 7
Entwicklungsumgebung: Visual C#
Herkunft: Berlin


NorbertX21 ist offline

File auslesen und Einträge in Combobox füllen

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

ich möchte ein kleines Programm mit C# schreiben und ich bin auch schon weit gekommen. Jetzt möchte ich noch ein paar Dinge, die ich vorher etwas anders gemacht habe, verbessern. Ich verwende WPF, es soll folgedes können:

Auf der Startseite befindet sich ein Menü wo man einen Benutzernamen und ein Passwort eingeben kann, danach werden zu der jeweiligen Person Vor- und Nachname und eine BenutzerID geladen. Diese Daten werden in jeweils eine Textbox geschrieben. Das klappt alles schon, bin zufrieden damit. Ich habe auf Seite 2 eine Combobox eingefügt, dort kann man einen Kurs auswählen, nachdem man sich angemeldet hat. Die Einträge die in der Combobox stehen hab ich alle so eingetragen:

XML-Code:
<ComboBoxItem Name="Kunst">Item1</ComboBoxItem>
<ComboBoxItem Name="Geschichte">Item2</ComboBoxItem>

Jedem Benutzer werden alle möglichen Kurse angeboten. Das Angebot an Kursen ändert sich jedes Semester. Die Kurse kann man exportieren und in eine Textdatei speichern, dort steht aber viel mehr drin als ich benötige. Ich habe es auch schon geschafft den Inhalt in die Combobox zu laden. Jetzt wolte ich euch fragen ob ihr mir ein bisschen weiterhelfen könntet. Ich möchte dass in meiner Combobox nur die Kursbezeichnung drinsteht. Ich weiss dass man mit dem Befehl ReadToEnd bis zum Ende der Datei liest aber ich möchte nur Spalte A, in dem Fall bis zum Trennzeichen |

In der Textdatei steht folgendes drin:

Kunst|Beginn 08:00 Uhr|Ort Beethovestr. 49
Geschichte|Beginn 13:30 Uhr| Ort Beethovenstr. 49
...

Mein Code:

C#-Code:
Private void Window_Loaded(object sender, RoutedEvent Args e)

{
     StreamReader sr = new StreamReader(@"mein Pfad");
string x = sr.ReadToEnd();
string[] y = x.Split('|');
foreach (string s in y)

{
    Combobox1.Items(Add(s);
}
}

Gruß Norbert
01.01.2019 19:46 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.170
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

In WPF sollte man immer mit MVVM arbeiten; siehe WPF Basics.
 [Artikel] MVVM und DataBinding

Ergo Daten in das ViewModel bringen und dann das XAML binden (siehe Tutorial).
Die Inhalte ansonsten eben Zeilenweise lesen, bei | splitten und dann den jeweiligen gewünschten Index nehmen, um damit die Combobox zu füllen.

Wenn Du nicht weißt, welche Inhalte eine Variable hat =>  [Artikel] Debugger: Wie verwende ich den von Visual Studio?
Wenn Du noch dazu Variablenbezeichner verwendest, die mehr aussagen als x und y, dann wird auch der Code für Dich verständlicher.
Danach sieht es nämlich aus, denn "s" ist nicht der Kurs, sondern JEDER Eintragen einer Zeile. Dir fehlt der Index-Zugriff auf das Array.
01.01.2019 20:45 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 10 Monate.
Der letzte Beitrag ist älter als 10 Monate.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 13.11.2019 19:20