Wczytanie pliku do RichTextBox z enterami

Zobacz poprzedni temat Zobacz następny temat Go down

Wczytanie pliku do RichTextBox z enterami

Pisanie by malymakar on Pon Gru 23, 2013 5:38 pm

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

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);
avatar
malymakar

Liczba postów : 3
Join date : 09/07/2013

Zobacz profil autora

Powrót do góry Go down

Re: Wczytanie pliku do RichTextBox z enterami

Pisanie by Fores on Pon Gru 23, 2013 7:27 pm

Milo byloby gdybys napisal jaki blad dostajesz Smile

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?
avatar
Fores

Liczba postów : 73
Join date : 30/05/2013
Age : 26
Skąd : Katowice

Zobacz profil autora

Powrót do góry Go down

Re: Wczytanie pliku do RichTextBox z enterami

Pisanie by malymakar on Wto Gru 24, 2013 12:12 am

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
avatar
malymakar

Liczba postów : 3
Join date : 09/07/2013

Zobacz profil autora

Powrót do góry Go down

Re: Wczytanie pliku do RichTextBox z enterami

Pisanie by Fores on Wto Gru 24, 2013 3:05 am

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 Smile Moze znajdzie sie tu ktos z wieksza wiedza.
avatar
Fores

Liczba postów : 73
Join date : 30/05/2013
Age : 26
Skąd : Katowice

Zobacz profil autora

Powrót do góry Go down

Re: Wczytanie pliku do RichTextBox z enterami

Pisanie by Sponsored content


Sponsored content


Powrót do góry Go down

Zobacz poprzedni temat Zobacz następny temat Powrót do góry


 
Permissions in this forum:
Nie możesz odpowiadać w tematach