[ DeYo @ 27.12.2004. 21:34 ] @
| Da li neko zna nekakvu komponentu ili rucan nacin kako da u aplikaciju ubacim nesto tipa reminder tj. da mi se u unapred zadate trenutke (vremena koja se cuvaju u bazi) aktviraju potrebne poruke, forme ili procedure? |
[ bancika @ 27.12.2004. 22:31 ] @
to nije tesko ovako uraditi.
recimo jednom u sekundi (minuti, zavisi od preciznosti) se proveri lista dogadjaja i ako treba se izvrsi neki...
za optimizaciju je bolje da lista dogadjaja bude sortirana, tako ne moras da je obilazis celu, vec imas index prethodnog izvrsenog dogadjaja i samo ispitujes sledeci.
[ DeYo @ 27.12.2004. 23:46 ] @
Citat:
bancika: to nije tesko ovako uraditi.
recimo jednom u sekundi (minuti, zavisi od preciznosti) se proveri lista dogadjaja i ako treba se izvrsi neki...
za optimizaciju je bolje da lista dogadjaja bude sortirana, tako ne moras da je obilazis celu, vec imas index prethodnog izvrsenog dogadjaja i samo ispitujes sledeci.
Tako nesto sam i ja mislio, ali se nadam da neko zna za nekakvu komponentu koja to automatizuje.
[ Srki_82 @ 28.12.2004. 00:04 ] @
Siguran sam da nesto tako jednostavno ima na netu... pretrazivaci su tvoji najbolji prijatelji ;) Ako ne budes uspeo da pronadjes neku takvu komponenticu napravicu ti je ja za par dana kad budem malo slobodan. Bice to neka non-visual komponenta. Imace jednu listu (ako me ne bude mrzelo napravicu ti i editor tako da iz IDE-a mozes lepo da ubacujes vremena i poruke) i jedan OnRemind event koji ce biti pozvan kada bude trebalo i dace ti ID koji si postavio prilikom unosenja vremena i datuma tako da ces znati na sta te komponenta podseca pa ces moci da reagujes kako je potrebno. Ako me ne bude mrzelo izbacicu ti jos jedan property koji ce regulisati koliko cesto se proverava da li je neki od remindera dosao na red.
[ bancika @ 28.12.2004. 11:17 ] @
pa da, najbolje je da se koristi TList klasa...tu se lako moze umetnuti element izmedju neka dva, a i lako se brise...tebi treba FIFO struktura
[ Srki_82 @ 28.12.2004. 16:14 ] @
Evo ga... jednostavno i prosto. Sigurno ima na milione bug-ova... ali meni je radilo kada sam testirao (cak 2 puta :P). Imas Reminder.pas fajl. To ti je unti u kojem se nalazi komponenta. U Reminder.dcr je ona slikica sata (bar treba da lici na sat) koja se pojavljuje kada kontrolu stavis na formu. ReminderPkg.dpk je paket za Delphi 7 iz kojeg mozes da instaliras kontrolu. Ako imas neki drugi Delphi moraces da napravis nov paket.
Od property-a imas sledece:
TReminder:
Enabled - ako je false nece te obavestavati, ako je true hoce
Interval - koliko cesto (u milisekundama) da proverava da li treba da te podseti na nesto
Reminders - ovde podesavas vremena
OnReminder - event koji opali kada treba da budes opomenut na nesto
TReminderItem:
Enabled - da li da uzima ovo vreme u obzir ili ne
Date - datum (string dd.mm.yyyy.)
Time - vreme (string hh:mm:ss)
Text - neki text
Tag - neki integer
Kada opali OnReminder dobices koji TReminder je okinuo i TReminderItem koji je izazvao taj event. OnReminder automatski postavlja TReminderItem.Enabled na false tako da taj ReminderItem vise nece izazivati nove evente. Ti mozes povecati vreme za recimo 5 minuta pa ponovo ukljuciti Enabled na true i tako ponovo izazvati okidanje eventa za 5 minuta.
Nadam se da ti je pomoglo bar malo.
[ Srki_82 @ 28.12.2004. 21:28 ] @
Voleo bih da vidim kako izgleda prog. u kom je ova komponenta... ako nije tajna :)
[ DeYo @ 10.01.2005. 09:41 ] @
Citat:
Voleo bih da vidim kako izgleda prog. u kom je ova komponenta... ako nije tajna :)
Videces. Nije tajna, ali nece program biti gotov za nekih mesec-dva (radim ga za neku lokalnu firmu pa tu ima jos gomila stvari da se uradi.).
Hvala ti veliko.
P.S. Ako negde zapnem sa ovim reminder-om maltretiracu te jos. :)
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.