Diskuze: Generace z List<string> pomoci TIMERU
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 25 zpráv z 25.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Spustí se ti ten timer? Normálně by jsi měl spíš použít timer1.Start(); namísto timer1.Enabled = true;
(Jestli se ti spustí zjistíš pomocí breakpointů.)
Ne - Enabled je v C# v pořádku... Start snad ani neexistuje. Spíš bude chyba v přidání metody do Handleru...
new Panel(){ Size = new Size(100, 60) }.Controls.Add(new Button(){ Text = "Click" });
Ozkoušej jestli ti jede ten Timer, dej tam třeba MessageBox.Show("Test"); Jinak se nehneme z místa.
Dal jsem do Timeru prikaz.
Interval je 800.
//Timer
private void timer1_Tick(object sender, EventArgs e)
{
MessageBox.Show("Zkouška");
}
//A v buttnu mám furt nastaveno
private void button3_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
}
A nic zadny message se neobjvil bohuzel. Asi je nefunkcni timer ale nevim
proc. 
Z toho kódu nepoznáme proč to nefunguje, ale takhle to vypadá dobře. Možná zkus přidat z toolboxu nový timer a nakliknout mu tu událost.
Už jsem to psal - máš přidanou metodu v Handleru?
Děláš si srandu - ten můj kód přidává do panelu Button. Kam ten panel dáš je na tobě... (Co takhle do okna? - Controls.Add(panel))
ddd.Tick += new EventHandler...
Takže to byl handler - když budeš pokaždé zakládat nový projekt, moc se toho nenaučíš... Měl jsi jen přidat tu metodu do eventu - v Designeru klikneš v Properties na blesk a v příslučném inputu přidáš onu metodu... A to by jsi měl umět i kódem - jak jsem psal:
ddd.Tick += new Handler...
Nevšiml jsem si, že by se tu někdo ptal na nějaký panel.
Ahoj, vim, ze uz je problem vyreseny, ale ve firme po me vzdy sli, kdyz jsme
nepojmenovaval komponenty...
Bylo by dobré je pojmenovávat 
Některé komponenty se ani pojmenovat nedají, protože by to narušilo jejich funkci a v ostatních případech by to mělo být jedno.
Aha, to jsem nevedel, po me prave vzdy chteji abych vsechno
pojmenovaval...
Napriklad Button = btnNazevJehoFunkce a tak dale 
Jak by jiné pojmenování komponenty mělo narušit její funkci?
A jedno to určitě není, aspoň ne u větších formulářů, až někdy
budeš něco upravovat na formuláři s 200 controly s defaultními názvy, tak
budeš tvůrce proklínat 
Anonymní komponenty mají přístup k privátním objektům v rodiči. Oddělením se tato vazba ztratí.
Zase jdeš do extrémů. Pokud mám dodržet pravidlo, že metoda by neměla být delší než 15 řádek, tak tam ani nemohu nacpat těch 200 controlů a stejně to musím rozdělit. To dá přece rozum.
Pokud jde o pojmenování anonymní funkce, tak to je v pořádku a funkci to nenaruší. Je to lepší než komentář.
Nejsem si teď jistej, jak to přesně myslíš, ale většinou je rodičem komponenty formulář a obsluhu komponenty taky provádíš ve formuláři, takže k privátním objektům rodiče (formuláře) přístup pořád máš, ne?
Proč by někdo používal těch 200 controlů v jedné metodě?
Prostě máš na formu 200 controlů, který se jmenujou třeba TextBox17,
TextBox18 apod., pak může lehce dojít k tomu, že někde omylem při
copy&paste do nějaký funkce posíláš hodnotu ze špatnýho controlu a
strašně blbě se to hledá.
Zatímco kdyš názvy budou třeba tbDluznaCastka a tbUrok, tak se ti podobná
věc tak lehce nestane a víš přesně, co někam dál posíláš.
Proč bych je měl pojmenovávat tak blbě? TextBox17, TextBox18, ...? Takové názvy proměnných jsou úplně k ničemu. To už je lepší, když jsou anonymní.
Názvy tbDluznaCastka a tbUrok jsou OK.
Jestli se nepletu, tak o to právě šlo, že se Medielovi nezdály ty názvy komponent, které Veganekk nechal defaultní (že je nepřejmenoval - byly očíslovány automaticky od IDE).
Tím "nepojmenováním" nejspíš nemyslel, že by byly anonymní, ale že nechal ty defaultní názvy.
Tím je to jasné, v průběhu debaty mě to také napadlo. IDE nepoužívám, zpočátku jsem ani netušil, že dělá takové hovadiny.
Zobrazeno 25 zpráv z 25.