Logiczne problemy

0

Witam, nigdy nie zawiodłem się nad tym forum i mam nadzieje, że znów pomożecie; )

Chodzi o to, że mam program(taka przypominajka) i działa wszystko pięknie oprócz jednej rzeczy, dokładnie mówiąc mam strukturę w programie która ma następujące pola:

short godzina_p // Czas alarmowania wcześniej czyli np jeśli zdarzenie jest o 18:30, a to się ustawi na 18:20 to jeszcze o 18:20 przypomina
short minuta_p //to co u góry
short godzina //Czas właściwego alarmowania czyli jeśli ustawiamy to na 18:30 to o 18:30 nas zawiadomi, natomiast jeśli to oraz wcześniejsze alarmowanie jest ustawione to alarmuje nas o tej wcześniejszej godzinie oraz o tej właściwej
short minuta // to co u góry
bool czy_bylo //zmienna która określa czy alarmowanie o właściwym czasie już zaszło
bool czy_bylo_przed //zmienna która określa czy alarmowanie o wcześniejszym czasie już zaszło.

Program dba o to, żeby użytkownik nie mógł wpisać większej godziny w polach _p niż jest w zwykłych polach. Oraz jeśli użytkownik przy dodawaniu poda godzinę większą niż jest teraz to program automatycznie ustawia czy_bylo na true oraz czy_bylo_przed na true.

Nie potrafię ustalić tak tych wszystkich ifów aby działało to wspólnie. Chce aby tak to działało:

Jeżeli aktualny czas == czasowi wcześniejszego zawiadomienia to pokaz zawiadomienie_1
Jeżeli aktualny czas == czasowi właściwego zawiadomienia to pokaż zawiadomienie_2
Jeżeli aktualny czas > czas wcześniejszego zawiadomienia i wcześniejszego zawiadomienia to pokaż zawiadomienie_2
Jeżeli aktualny czas > czas wcześniejszego zawiadomienia i < czas właściwego zawiadomienie to pokaż zawiadomienie_1

Problem zazwyczaj był taki że jeżeli aktualny czas > wcześniejszego zawiadomienia i wcześniejszego zawiadomienia to pokazywał komunikat_1 i potem komunikat_2

Wiem, że dość dużo tekstu ale chciałem dokładnie opisać problem oraz zaznaczam, że próbowałem już wielu opcji, od 2 dni z tym walczę oraz rozpisywałem wszystko na kartce ale zawsze coś mi umykało i znów był syf w kodzie.

Docenię jakąkolwiek odpowiedź.

0

Jeżeli aktualny czas >= czasowi właściwego zawiadomienia to pokaż zawiadomienie_2
ELSE
Jeżeli aktualny czas >= czasowi wcześniejszego zawiadomienia to pokaz zawiadomienie_1

0

A jeżeli aktualny czas >= czasowi właściwego zdarzenia i czasowi wcześniejszego zawiadomienia to uruchomi wtedy komunikat2 i komunikat1, a tego nie chcę ; )

A nie pomyliło mi się, przecież tam jest else. Zaraz wypróbuję to rozwiązanie chociaż już kiedyś tego próbowałem ale możliwe że coś źle wtedy napisałem.

Tak czy siak dzięki, jeszcze się odezwę.

Wydaje się, że działa jak należy. Zostaje mi tylko podziękować.

0

nie pokazujesz w ogóle jak i kiedy to uruchamiasz. w pętli? w timerze?

0

Już po problemie, Twoje rozwiązanie oczywiście zadziałało.

1 użytkowników online, w tym zalogowanych: 0, gości: 1