Diskuze: jak na Class
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 12 zpráv z 12.
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.


Do {} vlož:
o.startDownload();
a podobně.
To "o" vytvoříš přes:
o = new Downloader(url, filemane);
kde url a filename jsou adresa a cílový soubor.
| A projdi si zdejší tutoriály |
| http://www.itnetwork.cz/csharp/oop |
supr, začínám to tedy chápat, class se musí nejprve vytvořit,
private void button2_Click(object sender, EventArgs e)
{
o = new Downloader("", "");
}
teď mi to ale píše že "Název o v aktuálním kontextu neexistuje" musí se
to "o" ještě předem nějak deklarovat?
Ano, C# je staticky typovaný. V čem jsi programoval předtím?
Downloader o = new Downloader();
No "o" by mělo být nejspíše nějakého typu
...
V čem jsi programoval, jestli se můžu zeptat?
supr, díky, už je to ok, programuju v Delphi a v PHP
A kdybych chtěl pak v tom class Downloader odkazovat na progressbar, to zase jak se dělá? Pánové ten C# je úplně jiný než jsem zvyklý...
Není to zas tak složité, dělá se to tak, že si pročteš zdejší tutoriály a naučíš se něco o tom jazyku, v kterém chceš programovat. Nemůžeš dobře naprogramovat složitý program, když neumíš základy. ProgressBar by měl běžet v jiném vlákně, než ta akce, která by se v tom ProgressBaru měla zobrazovat a práce s vlákny rozhodně nepatří do začátků programování, ale spíš do pokročilejších technik...
Jiné vlákno mne napadlo jako možné řešení i mého problému - chci zobrazit průběh nastavení a vytváření souborů s databází atd. a úplně by stačilo, když se value ProgressBaru aktualizuje po dokončení jednotlivých kroků. Pokud ale např. uvnitř jedné metody vytvořím soubor 1, pak nastavím hodnotu Value ProgressBaru třeba na "20", pak soubor překopíruji, nastavím value na 30, atd..., ve WPF se změna statusbaru zobrazí až když metoda celá doběhne. Když ale třeba mezi jednotlivé kroky vložím MessageBox.Show, tj. vytvořím soubor - aktualizace Value ProgressBaru - MessageBox - kopíruji soubor..., progressbar se aktualizuje průběžně. Budu rád, když mi poradíte, jak toho docílit, aniž bych v průběhu nastavování aplikace "musel mezi jednotlivými metodami zobrazovat MessageBox".
Koukni se na Backgroundworker. Je to ideální komponenta na spouštění akci v druhém vlákně "na pozadí".
Díky moc za skvělý tip, povedlo se 
Sice mi to trochu trvalo, (až se sem bojím psát, že hlavně
„přechroupání“ C# a WF tutoriálů do VB a WPF), ale s pomocí
Backgroundworker se už ProgressBar aktualizuje. Ještě jednou děkuju.
Taky jsem kdysi dělal ve VB, protože mi to přišlo jednodušší, ale pak jsem se dostal do bodu, kdy byl problém na konkrétní situaci sehnat radu pro VB (pro C# jich bylo mraky) a nedařilo se mi to "přechroupat" do VB, tak jsem se přeorientoval na C#...a nelituji.
Zobrazeno 12 zpráv z 12.