Problem z datą i tablicą

Dział z pytaniami o absolutne podstawy programowania w C# (dla początkujących).

Moderator: xxSlayeRxx

Problem z datą i tablicą

Sponsor

Sponsor
 

Problem z datą i tablicą

Postprzez At1x » N maja 04, 2014 7:05 am

Jako, że jest to mój pierwszy post na forum chciałbym się przywitać :)

Mam problem z poniższym kodem:
Kod: Zaznacz cały
//pobranie daty ze systemu
            DateTime ClockInfoFromSystem = DateTime.Now;
            string day;
            day = ClockInfoFromSystem.DayOfWeek.ToString(); /// it gives me string
            int dzien_tygodnia=(Int32)Convert.ToDateTime(ClockInfoFromSystem).DayOfWeek;
            int prawidlowy_dzien_tygodnia = dzien_tygodnia+1;



         
            txt_dzis.Text =tydzien[prawidlowy_dzien_tygodnia];
            txt_wczoraj.Text = tydzien[prawidlowy_dzien_tygodnia - 1];
            txt_jutro.Text = tydzien[prawidlowy_dzien_tygodnia + 1];


Wszystko śmiga to momentu, kiedy mamy dzień od 2-6, bo wtedy mieszczą się w zakresie tablicy, gdy dodaję 1 dzień, albo odejmuję 1 dzień.
Gdy dodaję np. do dnia 7mego (niedziela) kolejny dzień, tak by program pokazał mi dzień jutrzejszy- wywala wyjątek, mówiący o tym, że jest zły zakres tablicy, która wygląda tak:
Kod: Zaznacz cały
        public static string[] tydzien = { "poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota", "niedziela" };


Czy macie jakiś prosty pomysł, jak uniknąć komunikatu z wyjątkiem? Chciałbym, żeby po wciśnięciu przycisku JUTRO gdy będzie niedziela (tydzien[6]) automatycznie przeskakiwała mi tablica do początku, czyli tydzien[0].
At1x
New member
 
Posty: 4
Dołączył(a): N maja 04, 2014 6:56 am

Re: Problem z datą i tablicą

Postprzez xxSlayeRxx » N maja 04, 2014 2:53 pm

%7

poza tym po co konwertujesz datetime na datetime?
xxSlayeRxx
Member
 
Posty: 661
Dołączył(a): Pt lip 08, 2011 10:24 pm

Re: Problem z datą i tablicą

Postprzez At1x » Pn maja 05, 2014 1:45 pm

Dziękuję za odpowiedź,
mógłbyś mi tylko pokazać dokładniejszy zamysł, jak to dopisać w kodzie?

Przyznam się bez bicia, że jestem początkującym i nie bardzo rozumiem co z tym dalej zrobić.

Ps. Dodam też, że jeżeli np. jest dzień tygodnia poniedziałek (tablica[0]) i wciskam dzień poprzedni, to mam znów ten sam błąd, że zakres tablicy jest niepoprawny.
At1x
New member
 
Posty: 4
Dołączył(a): N maja 04, 2014 6:56 am

Re: Problem z datą i tablicą

Postprzez xxSlayeRxx » Wt maja 06, 2014 7:40 am

% to modulo %3 bedzie wygladal tak:
0,1,2,0,1,2 dla
0,1,2,3,4,5

jesli chcesz tez odejmowac dni:

(i+7)%7
bedzie
.4, 5, 6,0,1,2,3 dla
-3,-2,-1,0.1,2,3
xxSlayeRxx
Member
 
Posty: 661
Dołączył(a): Pt lip 08, 2011 10:24 pm

Re: Problem z datą i tablicą

Postprzez At1x » So maja 10, 2014 5:16 am

Super, działa! :)
Dziękuję xxSlayeRxx.

Mam teraz kolejne pytanko. Kiedy dodaję funkcję, po wciśnięciu kolejnego przycisku mam komunikat, że zmienne które używałem w poprzedniej funkcji (inny przycisk) są nieznane.
Dlaczego, skoro ustawiłem je na public?
At1x
New member
 
Posty: 4
Dołączył(a): N maja 04, 2014 6:56 am

Re: Problem z datą i tablicą

Postprzez xxSlayeRxx » So maja 10, 2014 11:33 am

pokaz kod i napisz osobny watek
xxSlayeRxx
Member
 
Posty: 661
Dołączył(a): Pt lip 08, 2011 10:24 pm

Re: Problem z datą i tablicą

Postprzez At1x » Wt maja 13, 2014 9:12 pm

Z tym sobie już poradziłem, niestety napotkałem na kolejny problem.

Jak sprawić, by po naciśnięciu przycisku zwiększała mi się jakaś zmienna każdorazowo.
Teraz się tak dzieje, jednak tylko po wciśnięciu przycisku raz.

Próbowałem z pętlą for lub while- niestety program mi się zwiesza.

Załóżmy, że mam zmienną x=13.
Chciałbym, aby po wciśnięciu przycisku x zwiększał się o 1, czyli do 14, 15, 16 itd. (x++)
At1x
New member
 
Posty: 4
Dołączył(a): N maja 04, 2014 6:56 am

Re: Problem z datą i tablicą

Postprzez xxSlayeRxx » Wt maja 13, 2014 9:30 pm

Przeciez mowilem, ze musisz ustawic ta zmienna jako klasy (tak jak miales tablice z dniami tygodnia) i wtedy bedzie pamietana
xxSlayeRxx
Member
 
Posty: 661
Dołączył(a): Pt lip 08, 2011 10:24 pm

Re: Problem z datą i tablicą

Sponsors

Sponsor
 


Powrót do Newbie

Kto przegląda forum

Użytkownicy przeglądający ten dział: Bing [Bot] i 6 gości

cron