Czy chcesz zareagować na tę wiadomość? Zarejestruj się na forum za pomocą kilku kliknięć lub zaloguj się, aby kontynuować.

Wczytanie pliku do RichTextBox z enterami

2 posters

Go down

Wczytanie pliku do RichTextBox z enterami Empty Wczytanie pliku do RichTextBox z enterami

Pisanie by malymakar 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);
malymakar
malymakar

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

Powrót do góry Go down

Wczytanie pliku do RichTextBox z enterami Empty Re: Wczytanie pliku do RichTextBox z enterami

Pisanie by Fores 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?
Fores
Fores

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

Powrót do góry Go down

Wczytanie pliku do RichTextBox z enterami Empty Re: Wczytanie pliku do RichTextBox z enterami

Pisanie by malymakar 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
malymakar
malymakar

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

Powrót do góry Go down

Wczytanie pliku do RichTextBox z enterami Empty Re: Wczytanie pliku do RichTextBox z enterami

Pisanie by Fores 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.
Fores
Fores

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

Powrót do góry Go down

Wczytanie pliku do RichTextBox z enterami Empty Re: Wczytanie pliku do RichTextBox z enterami

Pisanie by Sponsored content


Sponsored content


Powrót do góry Go down

Powrót do góry


 
Pozwolenia na tym forum:
Nie możesz odpowiadać w tematach