• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak pobrać wartości liczbowe z pliku do int

0 głosów
83 wizyt
pytanie zadane 2 maja 2018 w C# i .NET przez niezalogowany
Witam, mam problem z pobraniem liczby z pliku i zapisania jej do zmiennej int. Mój aktualny projekt to taki katalog eksponatów i chciałbym aby nr katalogu (identyfikator eksponatu) sam się uzupełniał. Myślę że zapisanie tej wartości w pliku jest dobrym rozwiązaniem ale jeśli ktoś ma lepszy pomysł chętnie przyjmę.

Plan działania:
Odczytanie liczby z pliku
Wsadzenie liczby do pola tekstowego bez możliwości edycji
(Naciśnięcie zapisz)
Zapisanie pliku z identyfikatorem
Dodanie do id +1
Nadpisanie pliku z liczbą nową liczbą
Ponowne wypełnienie pola tekstowego bez możliwości edycji
Można zapisać inny eksponat

Pozdrawiam

Z góry dziękuję za odpowiedź

2 odpowiedzi

0 głosów
odpowiedź 2 maja 2018 przez Velta Pasjonat (21,930 p.)
wybrane 2 maja 2018
 
Najlepsza

Wymagane System.IO:

int liczba = Int32.Parse(File.ReadLines(ścieżka).Skip([nr linijki] - 1).Take(1).First());

Potem już chyba z górki. ;p

komentarz 2 maja 2018 przez niezalogowany

Wpisałem: int liczba = Int32.Parse(File.ReadLines(number.ini).Skip([0] - 1).Take(1).First());

a tu...

To chyba ja coś skopałem smiley
Czy możesz mi to wytłumaczyć bo trochę zielony jestem w tych plikach

komentarz 2 maja 2018 przez Velta Pasjonat (21,930 p.)
Zamiast [0] daj numer linijki, w której znajduje się liczba, którą chcesz odczytać, a w argumencie ReadLines dodaj cudzysłowia ("number.ini"). Oczywiście jeżeli znajduje się w tym samym katalogu, co program! ;)
komentarz 2 maja 2018 przez niezalogowany

int liczba = Int32.Parse(File.ReadLines("number.ini").Skip([1] - 1).Take(1).First());

a teraz...

Nadal wydaje mi się że coś źle robię frown

komentarz 2 maja 2018 przez Velta Pasjonat (21,930 p.)

Spróbuj tak:

int liczba = Int32.Parse(File.ReadLines("number.ini").Take(1).First());

 

komentarz 2 maja 2018 przez niezalogowany

a teraz z kolei jeden błąd ale nadal jest...

Może jakiejś biblioteki nie mam chociaż System.IO mam

komentarz 2 maja 2018 przez Velta Pasjonat (21,930 p.)
Jeszcze System.Linq chyba trzeba dodać
komentarz 2 maja 2018 przez NowyUrzydgownig Gaduła (3,570 p.)
Nie możesz napisać Take().First() - to nie poprawne. Co właściwie chcesz zrobić??
komentarz 2 maja 2018 przez niezalogowany

@Velta,
Dzięki System.Linq pomogło yes

0 głosów
odpowiedź 2 maja 2018 przez NowyUrzydgownig Gaduła (3,570 p.)

Zakładam, że te liczby są oddzielone spacjami.

string text = System.IO.File.ReadAllText(@"Text.txt");
String[] arr = text.Split(' ');
foreach (string s in arr)
   if(int.TryParse(s))
      {
        DoSomething();
      }

 

Podobne pytania

0 głosów
1 odpowiedź 55 wizyt
pytanie zadane 2 dni temu w C# i .NET przez rosesarered Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 85 wizyt
Porady nie od parady
Pytania na temat serwisu SPOJ należy zadawać z odpowiednią kategorią dotyczącą tej strony.SPOJ

67,206 zapytań

114,160 odpowiedzi

241,962 komentarzy

46,183 pasjonatów

Przeglądających: 130
Pasjonatów: 2 Gości: 128

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...