Forum » Programiranje » Pomoč alarmne ure v c++
Pomoč alarmne ure v c++
Adoo ::
Se pravi za maturitetno nalogo sem se odločil naredit alarmno uro v c++ windows form. Kako se naj tega za začetek lotim? Kaj predlagate , kak način bi bil najmanj kompliciran? Plus zanima me kako naj naredim da program zazna sistemski čas...
lp
in hvala vsem za pomoč
lp
in hvala vsem za pomoč
Adoo ::
Hehe nisem opisal celotne naloge vbistvu hočem začet od najlažje stvari. Celotna naloga oz. program naj bi vsebovala alarmno uro,opomnik(oz. organiztor napisal bi datum ki je pomemben za tebe in potem bi te program recimo dan prej opomnil na ta dogodek z npr. kakšnim zvokom,itd...)
,... Še veliko drugih stvari bom vključil ampak bi rad začel počasi pri osnovah :)
lp
,... Še veliko drugih stvari bom vključil ampak bi rad začel počasi pri osnovah :)
lp
Pimoz ::
aja :D
ob zagonu aplikacije prebereš dogodke ki jih imaš shranjene v bazi (ali datoteki) in nato zaloopaš čez njih ter za vsakega ustvariš timer katerega tick bo trajal čas dogodka-sistemski čas (če je rezultat negativen discardaš dogodek)
ko se na timerju zgodi tick poženeš funkcijo ki izbriše timer, in izda opozorilo.
če uporabnik postpona opozorilo še enkrat ustvariš timer.
thats it :)
ob zagonu aplikacije prebereš dogodke ki jih imaš shranjene v bazi (ali datoteki) in nato zaloopaš čez njih ter za vsakega ustvariš timer katerega tick bo trajal čas dogodka-sistemski čas (če je rezultat negativen discardaš dogodek)
ko se na timerju zgodi tick poženeš funkcijo ki izbriše timer, in izda opozorilo.
če uporabnik postpona opozorilo še enkrat ustvariš timer.
thats it :)
technolog ::
Ni efektivno. Svoj timer za vsak dogodek? Če bo 1000 timerjev bo to zelo slabo...
Boljši pristop je met en timer ki se proži na minuto ali sekundo, pa nekje nek posortiran seznam dogodkov (priority queue), in potem vedno gledaš samo ta vrhnjega.
Boljši pristop je met en timer ki se proži na minuto ali sekundo, pa nekje nek posortiran seznam dogodkov (priority queue), in potem vedno gledaš samo ta vrhnjega.
Adoo ::
Huh ste zakompliciral glede na to da sem bolj ko ne še začetnik kar se tiče teh stvari. No dejmo zdej videt če razumem stvar se pravi fajn bi bilo če bi naredil bazo v katero bi vnesel željen čas. In potem bi naredil neke vrste zanko ki bi preverjala vse do takrat dokler tisti čas v bazi ni enak sistemskemu... ?
Pimoz ::
heh :) fantje ki radi optimizirajo me bodo mogoče spet pretepli :P
aplikacija se štarta in prebere iz baze (mssql bo overkill za koledar :P sqlite anyone?) vse evente z današnjim datumom. nato jih sortira po času.
nato nastavi timer na tick 1 min in ob vsakem ticku preveri prvi event če se čas ujema. če se ustvari alarm in zbriše event iz seznama (ne pa tudi iz baze). ob vsakem ticku pa tudi preveriš če je ura polnoč. če je potem sprazniš seznam (ki bi tako ali tako moral biti prazen) in ponovno naložiš evente tega dne (ki bi sedaj moral biti ubistvu naslednji dan)
ko uporabnik ustvari event se ta vpiše v bazo nato se pogleda njegov datum. če se ne ujema z današnjim ne storiš ničesar, če pa se ga pa dodaš na seznam in le tega ponovno sortiraš.
aplikacija se štarta in prebere iz baze (mssql bo overkill za koledar :P sqlite anyone?) vse evente z današnjim datumom. nato jih sortira po času.
nato nastavi timer na tick 1 min in ob vsakem ticku preveri prvi event če se čas ujema. če se ustvari alarm in zbriše event iz seznama (ne pa tudi iz baze). ob vsakem ticku pa tudi preveriš če je ura polnoč. če je potem sprazniš seznam (ki bi tako ali tako moral biti prazen) in ponovno naložiš evente tega dne (ki bi sedaj moral biti ubistvu naslednji dan)
ko uporabnik ustvari event se ta vpiše v bazo nato se pogleda njegov datum. če se ne ujema z današnjim ne storiš ničesar, če pa se ga pa dodaš na seznam in le tega ponovno sortiraš.
technolog ::
aplikacija se štarta in prebere iz baze (mssql bo overkill za koledar :P sqlite anyone?)
tud sqlite je overkill, xml or just plainfile anyone?
ob vsakem ticku preveri prvi event če se čas ujema.
Ne samo če se ujema, če je mogoče že potekel.
časEventa <= trenutniČas.
Adoo ::
Vbistvu je ena izdmed zahtev da se naredi nalogo z bazo v mysql. Tako da mislim da glede tega nimam velike izbire. Zdaj me pa zanima če pozna kdo kak dober tutorial glede uporabe mysqle(oz. povezovanje mysql baze z visual basicom)
technolog ::
Ja, seveda lahko uporabljaš C++ skupaj z MySQL, Primoz. Na official situ maš C++ bindinge.
Adoo, na internetu je ogromno tutorialov, vpiši v googla "MySQL tutorial" ali pa samo "SQL tutorial"
Adoo, na internetu je ogromno tutorialov, vpiši v googla "MySQL tutorial" ali pa samo "SQL tutorial"
Adoo ::
Dej da nebom delo nove teme bom kar tukaj napisal. Ko sem inštaliral sql server 2005 mi vrže napako med inštalacijo "error code 29506". Sem celo stvar pogooglal in piše da moram stvar zagnat kot administrator ampak problem je da je cela stvar zagnana pod administratorjem. Je imel kdo kdaj podobne težave in kako jih je rešil?
lp
lp
Pimoz ::
ja vem da obstojajo bindingi samo najpri je napisov da bo delov v c++ pol pa v visual basic :) sej ubistvu je vseen sam teme nikol nebi sploh pogledu če bi pisal visual basic v naslovu :P
um...kateri os imaš? imel sem ta problem pri sql server 2005 na windows server 2008 r2 pa sem ga rešil z zagonom z admin pravicami.
poglej še v event log kaj tm not kej piše ker doskat tm več povejo o napaki.
um...kateri os imaš? imel sem ta problem pri sql server 2005 na windows server 2008 r2 pa sem ga rešil z zagonom z admin pravicami.
poglej še v event log kaj tm not kej piše ker doskat tm več povejo o napaki.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | C# osveževanje appOddelek: Programiranje | 945 (715) | mihies |
» | [VB] datagridviewOddelek: Programiranje | 1934 (1317) | korenje3 |
» | Countdown 1.2 jquery pluginOddelek: Izdelava spletišč | 685 (484) | mitja999 |
» | [C++] izris v [x,y]Oddelek: Programiranje | 1158 (860) | DuleKrtola |
» | [Visual C#] posodabljanje poljaOddelek: Programiranje | 1643 (1463) | iggy1 |