Názory ke článku Tvorba úvodního okna programu v C#
Tutoriál zajímavý, ovšem pár chybiček se najde.
1) V textu pracuješ s thready, ale nezmiňuješ se, jaké knihovny importovat. Pokud by se o tento tutoriál pokoušel i někdo jiný, pak si naimportujte System.Threading a odkažte se na něj v programu pomocí příkazu using.
2) V textu také není uvedeno, že progressbar musí být nastaven na veřejný, jinak mu nepůjdou měnit hodnoty z druhého okna. Pro případné zájemce, to se dělá ve vlastnostech progressbaru. To mi ovšem připadá jako porušení zapouzdření v OOP - pletu se?
Jinak téma je vážně zajímavé, možná by stálo za to posunout některé mé aplikace na vyšší level, i když jsem vážně na holičkách s tím zapouzdřením. Nevím, jak ostatní, ale já rád programuji podle pravidel a standardů...
9. 10. 2009
<p>Reagoval na komentář od uživatele Balaam : Myslím, že chybičkou je i menší srozumitelnost článku, než by bylo nutné. Přitom by stačilo používat trochu konzistentnější pojmenování (zejména pojmu "Úvodní obrazovka", tzv. "Splash screen") a přidat do začátku návodu jednu dvě vysvětlující věty... Jinak ale zajímavý článek.</p>
Reagoval na komentář od uživatele Balaam :
Reagoval na komentář od uživatele peta :
1) Článek není psanej pro lidi, kteří C# vidí poprvé
2) Z článku se odkazuji na seriál o vláknech v C#, takže inteligentní člověk si tento seriál otevře a zjistí vše co potřebuje
3) Pokročilí uživatel ví že progressbar musí být jako public
4) Jedná se o pohou simulaci dlouhého načítání, tak nevidím důvod proč řešit standardy, když článek pojednává úplně o něčem jiném
5) Není na mne jaké použiji názvy?
6) V úvodu článku vysvětluji pár větama co budeme dělat.
13. 10. 2009
Reagoval na komentář od uživatele Balaam :
S tím zapouzdřením máš pravdu a není asi dobré to řešit přvedením na public.
Já bych to řešil tak, že bych na tom formu s ProgressBarem udělal veřejnou metodu, která by jako parametr přejímala int hodnotu, která se má ProgressBaru nastavit a tu mu nastavila. Tedy něco jako:
public void SetProgressBarValue(int i)
{
ProgressBar.Value = i;
}
13. 10. 2009
Celkem by me zajimalo pro koho ten clanek vlastne je, zkuseny programator si okno vytvori v case nutnem pro precteni clanku a zacatecnik se nechytne kvuli importu. Mozna by se mel zlanek jmenovat pouziti progresbaru.
Porusit zapouzdrenim slovickem public je presne ten typ chyby, ktery se vymsti hodne v budoucnu, kdy naprava chyby stoji velke usili. Reseni je pritom jednoduche, bud pouzit public fukci, nebo (a to je podle me lepsi) public propertu. Pokud by vsak chtel by autor alespon trochu zajimavy at napise knihovnu SplashScreen na ktere samozrejme zaludnosti vysvetli a tuto knihovnu poskitne ostatnim. Vis clanky na codeproject atd.
14. 10. 2009
Eledin píše:
Celkem by me zajimalo pro koho ten clanek vlastne je, zkuseny programator si okno vytvori v case nutnem pro precteni clanku a zacatecnik se nechytne kvuli importu.
Souhlasím, když jsem to dočetl, taky mě to napadlo..
Reagoval na komentář od uživatele Já :
S tímhle bych souhlasil, ale jak jsem napsal. Neřešil jsem to, protože to jen simuluje simulaci. Jsem ale rád, aspoň vidím že můj článek aspoň někdo četl. :-)
Reagoval na komentář od uživatele Eledin :
Takový pokročilý začátečník, který už vý že k použítí vláken musí použit daný jmenný prostor. A s tou knihovnou děkuji, aspoň mám podmět na další článek.
18. 10. 2009
naprosta zbytecnost nezkusenemu programatorovi to na nic neni protoze program rozhodne splash screenem nezacina, zkuseny programator nepotrebuje cist takovyto clanek. No a ohledne toho importu to by zjistila s pomoci google i podpruperne vycvicena opicka co vlastne importovat... Takze otazkou je co prinosneho clanek vlastne prinesl...
Priznam se, ze pro nekoho, kdo jeste nikdy nepremyslel nad tvorbou vlastniho SplashScreenu muze byt poselstvi clanku to, ze se da udelat z obycejneho Formu.. Nekdo by pri pohledu na okraje a TitleBar po pridani do projektu mohl premyslet jak ten splash screen udelat a vyse je jednoduchy navod. Hm, i kdyz tyhle vlastnosti Formu jsou asi v kazde ucebnici pro zacatecniky..
Z vlastni zkusenosti s tvorbou SplashScreenu musim rici, ze postup je lehce naivni. Opravdu je potreba jednak dodrzovat zapouzdreni a k zmenam na SplashScreenu pouzivat nejakou(e) metodu(y). Idealne navic existuje nejaky ridici objekt ktery napred ziska/vytvori instanci SplashScreenu a pote se snazi nacist napriklad konfiguraci - otevrit napriklad login dialog -nacist data z DB a az pak napriklad vytvorit/ziskat instanci hlavniho formu. Z duvodu bezpecnosti mohu pozadovat, ze pouze vlakno bezici pod uctem 'overeneho' uzivatele muze vytvaret instanci hlavniho okna.. Ale podstatne je, ze SplashScreen a hlavni okno by se 'typove' nemusely vubec znat.
PS: Pokud chci menit 'hlavni' okno aplikace za behu doporucuji si podedit tridu ApplicationContext.
29. 10. 2009
Reagoval na komentář od uživatele rudolf_franek :
Jsem zvedavy za jak dlouho ti zmizi tento komentar... Daval sem zde 2x odkaz na clanek Jardy Jiravy, ktery to resi doopravdy a ne jen "nejak vytvorit form, ktery se vlastne ale jako splashscreen vubec nechova". Inu, hulanizuj!
Reagoval na komentář od uživatele morph :
Nejsem si vědom, že bychom komentáře mazali. Pokud se tak stalo, tak zřejmě nedopatřením bota, který kontroluje odkazy v důsledku spamu.
17. 11. 2009
Díky za snahu uvést zde řešení, které slouží k vytvoření splash screenu a jenž se nachází na mých stránkách. Předpokládám, že pokud by byla vůle, tak se zde onen komentář bude již nacházet.
--J.
24. 11. 2009
Reagoval na komentář od uživatele Jarda Jirava :
tak ne nahodou kdo se chce na ceskem internetu dozvedet o .netu neco zajimaveho cte jedno nejmenovane forum, ktere mas dost pod palcem (spolu s dalsimi asi 5 lidmi co prispivaji pravidelne narozdil od nas, pasivnich ctenaru) ;)
15. 8. 2013
Mně se ten článek líbí, je to přesně tak na moji úroveň programování :-) A právě proto bych se přimlouval, aby bylo zmíněno i to nastavení progressbaru na public a i ten zmíněny threading by stálo za to zmínit. Ale článek jako takový mi moc pomohl a děkuji :-)