Diskuze: Zjištění typu vstupu
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


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


No jo,koule se vám rozbila...
Jak zjistit jakeho typu je vstup z textboxu
Nevím v čem děláš - ve Visual Studiu stačí v části events - vedle properties dvakrát kliknout na KeyDown - což je stejné, jako když do inicializace - či do desing módu přidáš
this.textBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBox1_KeyDown);
No a pak musíš tuto metodu přidat (this.textBox1_KeyDown) - tedy:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
}
No a pak už jen ošetříš ten vstup - co uživatel zadal získáš nejjednodušeji e.KeyData - kde e je KeyEventArgs - v tomot případě.
if (e,KeyData == Keys.0 || e,KeyData == Keys.1,...
Ale lepší bude udělat list čísel a ten projít tímto vstupem...
Pardon místo
if (e,KeyData == Keys.0 || e,KeyData == Keys.1
to má být:
if (e.KeyData == Keys.0 || e.KeyData == Keys.1
Ale toto je vlsatně blbost - musí to být pomocí key value:
char j = ConvertToChar(e.KeyValue);
if (j == '1' || j == '2' || j == '3',...)
Nejlepší bude udělat metodu pro zjištění zda je to číslo:
private bool IsNumber(char n)
{
int p = 0;
return int.TryParse(n.ToString(), out p);
}
No a pak jen:
if (IsNumber(ConvertToChar(e.KeyValue))
{
//...
}
A pokud počítáš s desetinnými hodnotami tak udělej vyjímku pro oddělovač - ten ale musíš zjistit - aby to běželo i v zemích s jinými oddělovači:
System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator
Desetinné hodnoty je lepší ve hrách nepoužívat. Nejlépe ani v účetních programech. Float je prostě určen k jiným účelům.
Sorry - ale nač složitě spritovat na integr (tedy to rozdělení není složité - stačí regex výraz, ale ta práce s tím celkově), když bych dělal jednoduchou hru,...
S intem se lépe pracuje. Je přesnější, než float. Záleží na konkrétním použití. Na sčítání bodů a financí je int rozhodně lepší. Na ukládání souřadnic ve 2D bych však klidně použil i Complex.
Ano, ale vymýšlet jak pracovat s intem, jakožto desetinnou částí,... Vidíš věci příliš obecně - snažíš se říci, že je něco tak a tak, když vždy záleží na situaci,...
Proč vlastně potřebuješ pracovat s desetinnou částí? Drtivá většina aplikací desetinná místa vůbec nepotřebuje. Zpravidla stačí posunutá desetinná čárka.
Ano - tak se to skutečně dá řešit - k čemu tedy existuje float?...
Float existuje pro práci s čísly typu float. Takových dat se dnes zpracovává velmi málo. Finance ani bodové skóre nejsou typu float, ale decimal. Pro výpočet dráhy sondy na Mars však používám právě Float. To asi neděláš.
Zobrazeno 14 zpráv z 14.