Wczytanie pliku do RichTextBox z enterami
2 posters
:: Projekt "Madagaskar" :: 4.INNE :: 1.C#: ogólnie
Strona 1 z 1
Wczytanie pliku do RichTextBox z enterami
Chce wczytac plik .csv (moja mini baza danych) w taki sposób, żeby móc go później wrzucić do RichTextBox'a przy zachowaniu enterów. Bez enterów program hula super, ale gdy w pliku zrobie enter to dostaje błąd.
Metoda wczytywania pliku
a tak wygląda plik:
Próbowałem coś w tym stylu, ale tez nie idzie...
Metoda wczytywania pliku
- Kod:
StreamReader sr = new StreamReader("plik.csv");
if (sr != null)
{
int line_number = 1;
while (!sr.EndOfStream)
{
var line = sr.ReadLine();
if (line_number > 0)
{
var values = line.Split(';');
Recipe r = new Recipe();
listOfRecipes.Add(r);
r.RecipeName = Convert.ToString(values[0]);
r.Preparation = Convert.ToString(values[1]);
r.ComponentsTable = Convert.ToString(values[2]).Split(','); //tutaj dostaje błąd, mimo ze enetery mam w sekcji poprzedniej
r.Photo = Convert.ToString(values[3]);
r.PreparationTime = Convert.ToString(values[4]);
}
line_number++;
}
sr.Close();
}
a tak wygląda plik:
NazwaPrzepisu2;Jakiś tam przepis sobie jest przykładowy2 //enter
dalsza czesc przepisu; skladnik10, skladnik20, skladnik30, skladnik40, skladnik50;images/potrawa2.jpg;okolo 60 minut;
NazwaPrzepisu3;Jakiś tam przepis sobie jest przykładowy3; skladnik6, skladnik7, skladnik8, skladnik9, skladnik10;images/potrawa3.jpg;15 minut;
Próbowałem coś w tym stylu, ale tez nie idzie...
- Kod:
r.PreparationTable = Convert.ToString(values[1]).Split(System.Environment.NewLine);
malymakar- Liczba postów : 3
Join date : 09/07/2013
Re: Wczytanie pliku do RichTextBox z enterami
Milo byloby gdybys napisal jaki blad dostajesz
Ale tak na poczatek:
1. Czemu nie uzywasz using(StreamReader sr = new StreamReader("plik.csv")) {}?
2. Co robi line_number? Jak na moje oko to zawsze bedzie > 0. I jak juz to lineNumber ;]
3. Wczytujac po jednej linii i rozdzielajac ja za pomoca Split moga Ci sie pomieszac indeksy. Na przyklad:
Wynik:
values[0] = NazwaPrzepisu2
values[1] = Jakiś tam przepis sobie jest przykładowy2
values[2] = dalsza czesc przepisu
values[3] = skladnik10, skladnik20, skladnik30, skladnik40, skladnik50
values[4] = images/potrawa2.jpg
values[5] = okolo 60 minut
4. ComponentsTable jest jakiego typu?
5. Po co konwertujesz do stringa cos co jest stringiem?
Ale tak na poczatek:
1. Czemu nie uzywasz using(StreamReader sr = new StreamReader("plik.csv")) {}?
2. Co robi line_number? Jak na moje oko to zawsze bedzie > 0. I jak juz to lineNumber ;]
3. Wczytujac po jednej linii i rozdzielajac ja za pomoca Split moga Ci sie pomieszac indeksy. Na przyklad:
NazwaPrzepisu2;Jakiś tam przepis sobie jest przykładowy2 //enter
dalsza czesc przepisu; skladnik10, skladnik20, skladnik30, skladnik40,
skladnik50;images/potrawa2.jpg;okolo 60 minut;
Wynik:
values[0] = NazwaPrzepisu2
values[1] = Jakiś tam przepis sobie jest przykładowy2
values[2] = dalsza czesc przepisu
values[3] = skladnik10, skladnik20, skladnik30, skladnik40, skladnik50
values[4] = images/potrawa2.jpg
values[5] = okolo 60 minut
4. ComponentsTable jest jakiego typu?
5. Po co konwertujesz do stringa cos co jest stringiem?
Fores- Liczba postów : 73
Join date : 30/05/2013
Age : 34
Skąd : Katowice
Re: Wczytanie pliku do RichTextBox z enterami
1. Okej dodałem.
2. To było z moich innych rozkmin, po prostu zapomniałem wywalić.
3. Ok, ale w takim razie jak inaczej to czytać? Próbowałem ReadToEnd(), ale wtedy wczytuje mi tylko jeden przepis.
4. To tablica stringów.
5. Też wynik wcześniejszych rozkmin ze względu na to, że troszeczkę inaczej wcześniej app wyglądała.
Podsumowując, w jaki sposób wczytywać plik, żeby nie mieszały się indexy, ale można było fajnie sformatowany (enterkami) tekst wczytać do RichTextBoxa i wyświetlić go w taki sam sposób?
ps. błąd jaki dostaje po dodaniu entera w pliku to IndexOutOfRangeException was unhandled
2. To było z moich innych rozkmin, po prostu zapomniałem wywalić.
3. Ok, ale w takim razie jak inaczej to czytać? Próbowałem ReadToEnd(), ale wtedy wczytuje mi tylko jeden przepis.
4. To tablica stringów.
5. Też wynik wcześniejszych rozkmin ze względu na to, że troszeczkę inaczej wcześniej app wyglądała.
Podsumowując, w jaki sposób wczytywać plik, żeby nie mieszały się indexy, ale można było fajnie sformatowany (enterkami) tekst wczytać do RichTextBoxa i wyświetlić go w taki sam sposób?
ps. błąd jaki dostaje po dodaniu entera w pliku to IndexOutOfRangeException was unhandled
malymakar- Liczba postów : 3
Join date : 09/07/2013
Re: Wczytanie pliku do RichTextBox z enterami
Ja proponuje zapisywanie i odczyt danych z dokumentu XML. Nie napisze Ci dokladnie jak, bo sam umiem tylko podstawy obslugi plikow xml i nie chce glupot nagadac Moze znajdzie sie tu ktos z wieksza wiedza.
Fores- Liczba postów : 73
Join date : 30/05/2013
Age : 34
Skąd : Katowice
:: Projekt "Madagaskar" :: 4.INNE :: 1.C#: ogólnie
Strona 1 z 1
Pozwolenia na tym forum:
Nie możesz odpowiadać w tematach