stáhl jsem všechny verze Snippet Compileru z odkazů, ale po rozbalení a spuštění naskočí akorát chybové microsoftí hlášení:SnippetCompiler.exe - Chyba aplikace---------------------------Správná inicializace aplikace (0xc0000135) se nezdařila. Klepnutím na tlačítko OK můžete aplikaci ukončit. ---------------------------Zkoušel jsem to na 2 PC. Co dělám blbě?
Presne tak, ten istý problém mám aj ja.
Začínající seriál sice asi bude fajn, ale při frekvenci 1 díl/týden potrvá dost dlouho, než bych se něco trošku naučil.Nevíte někdo o nějaké šikovné knize o VB.NET (nebo ani nemusí jít o .NET), která by byla šikovná pro začátečníka? Zkušenosti s programováním mám, ale v jiných jazycích. Za každou radu předem dík.
Pokud máte zkušenosti s programováním, opravdu nepotřebujete vykládat o tom, jak se používají proměnné a cykly, ale spíš se budete potřebovat seznámit s prostředím .NET a Visual Studio. V tomto směru Vám mohu doporučit např. volně dostupné publikace - brožury s vývojárskou tématikou od Microsoftu.
http://www.cznorth.net/index.php?north=manual.php&session=
Jinak doporučuju se občas na seriál kouknout, protože zhruba od desátého dílu budou probírány informace o .NETu, kterých zatím mnoho v ucelené formě na českém webu není.
Ještě přikládám linky na dva velké rozcestníky informací o Visual Basicu (VB i VB.NET) na webu, jistě časem narazíte na další
http://www.cetus-links.org/oo_visual_basic.html a
http://www.codebox.8m.com/visualbasic.htm
Zdravim,odkaz pod clankem na prvni dil je spravne?sappy
Ano, teď jsem jej zkoušel a funguje - není součást článku, ale je generován redakčním systémem.
...ale teď sám vidím, že vede na první díl seriálu o původní verzi Visual Basicu, jehož příprava byla pozastavena ve prospěch VB.NET
Budu o tom informovat redakci.
To jsem mel na mysli Diky
odkaz na vývojové prostředí nefunguje. Hlásí Service unavailable
nefunguje, pokud na nej kliknes, ale pokud jej napises do radku tak ti ta stranka naskoci. Osobne jsem se na tu stranku dostal z jineho zdroje.sappy
Patrně je tam kontrola na referer na linkování z jné domény....
Máte skutečně pravdu - ráno ten link ještě fungoval, děkuji za upozornění... Doufám, že jsem tomu chudákovi neodstavil web tím, že jsem na Živě nalinkoval jeho produkt...
Pro jistotu přikládám link na mirror http://zephir.wz.cz/vbnet/SnippetCompiler.zip s poslední verzí Snippet Compiler 1.11.01jakož i link na soubor s konfifguraci, pokud používáte starší verzi .NET Framework 1.0:http://zephir.wz.cz/vbnet/SnippetCompilerConfig.zip
1) Kde je onen v nadpisu avizovaný program Hello World? Tolik jsem se na něj těšil a ono nic 2) Nechápu, proč autor doporučuje VYPNOUT volbu Option Explicit. Možná to někomu připadá jako dobrý nápad, že pak nemusí deklarovat proměnné, ale ubezpečuji každého, že za problémy způsobené v budoucnu například jednoduchým překlepem v názvu proměnné to ani zdaleka nestojí. Jinak si nemohu pomoci, ale ať na tenhle článek koukám jakkoliv, tak mám pořád dojem, že kromě odstavce o tom, že se jako první spouští procedura Main, a odstavce o tom, že SnippetCompiler umí zvýrazňování syntaxe, je to úplně (obsahově) stejné jako první díl. Doufám, že další díly budou lepší, dobrý seriál o VB.NET bych přivítal.
Napsal jsem to špatně - články nejsou obsahově stejné, ale zdá se mi, že druhý díl přinesl naprosto mizivé množství nových informací. Ale možná je to jen můj subjektivní dojem.
Jak jsem již v komentářích k prvnímu dílu seriálu uvedl, striktní požadavek redakce (kvůli kterému bylo také několik úvodních dílů přepisováno) zněl, aby seriál byl přístupný úplným začátečníkům, a to nejenom v jazyce Visual Basic, ale v programování jako takovém a neobsahoval žádné logické skoky a odkazy na implicitní informace. Z tohoto důvodu Vám může několik prvních dílů seriálu připadat nezáživných a s nízkým obsahem pro Vás nových informací.
Na druhé straně nejsem v debatě pod článkem podobným omezením vázán a proto samozřejmě uvítám připomínky a náměty k diskusi zde, kde se můžeme sporným záležitostem věnovat podrobněji. Pokud se zde vyskytnou podněty závažnějšího rázu, samozřejmě je zapracuji i do znění článků.
Teprve teď zpětně jsem si přečetl komentáře pod článkem prvního dílu a musím přiznat, že autor má seriál zřejmě docela dobře rozmyšlený a rozhodně umí svoje názory celkem dobře obhájit. Takže své výtky beru zpět a radostně očekávám další díly :)I když s tím Option Explicit pořád nevím - opravdu je pro začátečníky lepší to vypnout? Možná to vypadá, že je pak VB.NET přísnější a pořád po člověku něco chce, ale tak to přeci není. Já beru Option Explicit hlavně jako ochranu proti svým chybám a překlepům, které rozhodně nedělám tak zřídka, jak bych si přál :)Příklad:pocetKolecek = 10pocetKolecek = pocetLokecek + 1System.Console.WriteLine(pocetKolecek)A chudák začátečník se pak může uzoufat, proč mu to jako výsledek píše 1, než mu po několika dnech jeho 3 letá sestra řekne, že tady na tom 2. řádku má překlep v názvu proměnné.
Tohle by se jaksi ani neprelozilol...
A proc ne?
Noo... - pokud by jste skutečně vypnul kontrolu explicitních deklarací (příkazem Option Explicit Off, nebo parametrem překladače, jako to dělá Snippet Compiler), pak by se vám ukázka nejen bezproblému zkompilovala, ale byla by i plně funkční. Pokud není uveden typ proměnných, VB.NET pracuje se všemi proměnnými jako s objekty, deklaruje je dynamicky (tj. při prvním výskytu názvu proměnné v kódu) a umožňuje jim kdykoliv přiřadit prakticky libovolný obsah - podobně jako např. JavaScript, nebo Python.
Výhodou prostředí VB.NET je, že vás k deklaracím nenutí, ale přidáním jednoho řádku do programu tuto kontrolu zapne. Je tedy jen na vás, zda při psaní několikařádkového skriptu budete dodržovat zásady deklarace proměnných před jejich prvním použitím, nebo ne.
Máte samozřejmě naprosto pravdu a vypnutí typové kontroly rozhodně nepatří do zásad profesionálního programování. Na druhé straně potřebuji demonstrovat základní struktury jazyka na funkčních ukázkách ještě dříve, než se proberou datové typy a také bych rád demonstroval fakt, že VB.NET není zbytečně překombinovaný a že začátečníci své nabyté znalosti mohou okamžitě využít při psaní použitelných porgramů. Takže - pokud zde ta možnost je a VB.NET ji nabízí - využil jsem ji s tím, že s samozřejmě k typové kontrole a deklaracím proměnných vrátím v nejbližším možném díle a pak ji již budu používat striktně i nadále.
Na druhé straně "skript kiddie" styl, jaký budu předvádět v úvodních (cca deseti) dílech seriálu není až zas tak úplně neopodstatněný - uvědomme si, že typová kontrola je velmi slabá i u většiny dynamických jazyků (jako je Java/VBScript, Python) a další (aka PHP) - což nikterak nebrání tomu, že se v nich při větší pozornosti a dodržení jistých zásad dají psát velmi rozsáhlé projekty. V krátkých demonstrativních projektech (jakým se budeme věnovat v následujících dílech převážně) je pak význam typové kontroly spíše didaktický.
Ano, to PHP me s timhle maximalne vytaci, to ale neni omluva pro to, aby se tak psalo i ve VB .NET
To je samozřejmě pravda, <flame>na rozdíl od PHP a jemu podobných je VB.NET plnohodnotné vývojové prostředí</flame>, a nezaslouží si, aby byl používán jako nějaký skriptovací jazyk - takže nejpozději od šestého dílu seriálu začneme proměnné před použitím deklarovat a nejpozději od desátého je začneme deklarovat i s typem....
Problém je, že kdybych s typovými deklaracemi začal ihned, musel bych vysvětlit jak deklarace a inicializace, tak datové typy a rozdíly mezi datovými typy, třídami a objekty a ke skutečnému programování bych se nedostal dříve než takovém pátém, šestém díle a seriál byl pro začátečníka ještě nudnější, než doposud. Zatímco bez výkladu typových deklarací budeme mít v šestém díle seriálu většinuprogramových konstrukcí jako jsou cykly a podmínkové příkazy a v podstatě díky tomu psát libovolně složité programy - je tu tedy jisté pedagogické dilema, které jsem vyřešil příklonem k vyšší jednoduchosti pro začátečníky za cenu obtížnější přenositelnosti a udržovatelnosti kódu.
Jsně, rozumím vám. Jak jsem psal už v předchozím příspěvku - komentáře k prvnímu dílu (a v nich i vaše vysvětlení) jsem si přečetl až zpětně. Vaši argumentaci naprosto beru. Chápu, že každý seriál nějakou tou omáčkou a nezbytně jednoduchým úvodem prostě začít musí. Těším se na další díly a díky za seriál.
Zase jsem nenapsal všechno, co jsem chtěl, takže doplňuji:K té typové kontrole - v podstatě souhlasím s tím, že pro úplného začátečníka je jednodušší a srozumitelnější typovou kontrolu neprovádět. O tom jsem ale nemluvil - typová kontrola se zapíná direktivou Option Strict. Mě se ale nezdálo vypnutí právě a jedině direktivy Option Explicit, která nenutí uživatele k ničemu jinému, než k DEKLAROVÁNÍ proměnných, typ nemusí uvádět a typová kontrola se neprovádí. Jde tedy skutečně jen o to, že se zabrání překlepům a následně záhadně se chovajícím programům jen v důsledku překlepu v názvu proměnné, kterou kompiler neohlásí jako chybu (viz. předchozí příklad se sčítáním). Podle je pro začátečníka naopak daleko lepší tuto direktivu zapnout - musí sice každou proměnnou deklarovat, ale na každý případný překlep ho kompiler upozorní chybou, že daná proměnná nebyla deklarována. S vypnutím Option Strict pro začátečníky naopak souhlasím.
Jasně. Jak jsem již uvedl, vaše argumenty plně akceptuji a k deklaracím se vrátím, jakmile proberu základní programovací struktury. Důvod je ten, že s jejich znalostí můžete psát libovolně složitý a strukturovaný kód, zatímco se znalostí deklarací proměnných nikoliv, čehož většina skriptovacích jazyků s gustem využívá...
Čili priorita, se kterou se věnuji deklaracím není opominutí, ale chladnokrevný záměr a klidně bych toto pořadí i obrátil - ale bohužel jsem úvodní díly seriálu, již předal redakci, která je s předstihem zavádí do redakčního systému. Nebudu tedy moci na všechny připomínky reagovat s dostatečným předstihem - ale slibuji, že až budu vykládat o významu a důležitosti deklarací, Váš příklad určitě uvedu.
V programu je "Pro ukončení stiskni ENTER" a na obrazovce se napíše "Pro ukončení stiskněte libovolnou klávesu"Nevím, programováním se nezabývám asi 10 let, ale ReadLine bude asi vyžadovat Enter. Nebo se pletu?
Miloš
Tak si precti co je v programu a ne co mas na obrazku codere .) .
Máte pravdu, a desetiletá pauza zjevně nezanechala na logice Vašeho uvažování stopy...
Skutečně jsem nedopatřením použil starší verzi obrázku, která nebyla synchronizovaná s ukázkou kódu, za což se pochopitelně omlouvám.
ale bezici v prostredi Windows?
QBasic is death :o)
Zalezi na tom?
Ne. Ale je to konvence, kterou používá nejrozšířenější vyvojové prostředí pro VB.NET, MS Visual Studio.NET (ale i některé další, jako free SharpDevelop). Pokud ty ukázky napíšete / vlepíte do jeho editoru, VS.NET upraví velikost písmen klíčových slov podle ukázky. Můžete si zavést vlastní konvenci a bez problému ji používat, ale pak musíte počítat s tím, že si ji prostředí VS.NET ji upraví podle svých představ - proto doporučuji si zvyknout na tuhle.
Velikost písmen u uživatelsky definovaných názvu, jako jsou procedury a proměnné samozřejmě VS.NET nechá na pokoji - a v tom případě je jen na vás, jakou konvenci pro jejich používání zvolíte. Osobně nejčastěji používám tzv. zjednodušenou maďarskou notaci, která je zavedena v celém prostředí .NET Framework. První písmeno proměnných a funkcí je vždy velké, ale zpravidla mu předchází označení typu (mod jako Module, a jako Array, cls jako Class apod.).
Takže pro název hlavního modulu používám zpravidla označení modMain, pro označení proměnné Count typu Integer iCount, pro označení pole Jablka název aJablka, apod. Proměnné bez explicitního uvedení typu jsou ve VB.NET vždy typu Object, takže by měly začínat předponou o-, nebo obj..
Je celkem jedno, jaký systém pro pojmenování proměnných si zvolíte - je ale vhodné se jej držet, chcete-li se ve svých starších programech bez problémů orientovat, proto doporučuji si zásady notace prostudovat.
Ještě přikládám odkaz na zásady maďarské notace na MSDN (původně uvedený link z mého příspěvku po odeslání nějak zmizel...)
http://msdn.microsoft.com/library/techart/hunganotat.htm
Maďarská notace by se již neměla používat!. Microsoft jí velmi používal ve svých SDK a knihovnách (např. knihovna MFC používala maďarskou notaci), ale to je minulost
Jelikož nevýhody maďarské notace předčí výhody, tak Microsoft nyní dává všemožně najevo, že si nepřeje, aby programátoři tuto notaci dále používali:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconparameternamingguidelines.asp
David.
Děkuji za info !
Moje zkušenost s maďarskou notací je, že důsledné lpění na ní zbytečně prodlužuje názvy proměnných, ale může pomoci při rozlišování datových typů parametrů v deklaracích, kde ji MS používá i nadále.
Typicky např.:
Declare Function GetExitCodeThread Lib "kernel32" (ByVal hThread As Long, lpExitCode As Long) As Long
Z tohoto důvodu ji pro tyto situace používám rovněž.
No ja si na Madara nikdy nezvykl. Ta nynejsi notace(aspon co jsem cetl co MS doporuceje pro C#) je pohode. Ta fce z jadra tam bude imho jenom kvuli zpetny kompatibilite. Novy fce a nazvoslovi se jede uz Welbloudem s malyma pismenkama pro privates aj. a to me vyhovuje.
Potvrďte prosím přezdívku, kterou jsme náhodně vygenerovali, nebo si zvolte jinou. Zajistí, že váš profil bude unikátní.
Tato přezdívka je už obsazená, zvolte prosím jinou.