Událost spuštěná v určitý čas   zodpovězená otázka

VB.NET

Měl byste někdo tip, jak spustit událost (pouze jednou) pomocí času (hh:mm) každý den? (ve VB.NET)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Použít System.Windows.Forms.Timer, který bude každou vteřinu (minutu) kontrolovat, zda-li je konkrétní hodina a minuta. Jestli byla už úloha provedena se může zapsat kamkoliv. Pro takto primitivní úlohu bych ani nepsal program ale použil skript nebo dávkový soubor a Plánovač úloh.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Právě s tím Timerem mi to nepřijde moc elegantní. Díky za tip.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vtipné. A jak byste to asi udělal jinak? Jediná dvě použitelná řešení jsou Timer, nebo spoléhat na něco externího co upozorní vaší aplikaci a což by bylo nesrovnatelně komplikovanější.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Nad tím jsem dneska přemýšlel a nic jiného než timer mě nenapadlo.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

No ono to opravdu jinak nejde. Jde o to zvolit řešení, které je pro daný úkol vhodnější - pokud aplikace má jednou za den provést něco, pak je nejlepší navrhnout ji asi jako konzolovou aplikaci a spouštět ji schedulerem.

Pokud má jednou za čas něco udělat, ale má mít třeba nějaké GUI, nebo má dělat během toho i něco jiného, tak pak asi použít timer a koncipovat ji jako službu (s možností ovládání přes druhou WinForms nebo WPF aplikaci, která bude se službou komunikovat třeba pomocí WCF), anebo pokud to nemusí být služba, stačí klasická okenní aplikace. Pak musíte použít Timer.

Záleží, co přesně chcete. Pokud chcete první případ, tak Timer opravdu není elegantní řešení.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback