jiri
30. 3. 2005 • 21:12

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ě?

Erender
27. 10. 2005 • 10:54

Presne tak, ten istý problém mám aj ja.

RoadMagor
31. 8. 2004 • 13:21

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.

milanpetrik@atlas.cz
31. 8. 2004 • 16:50

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=

milanpetrik@atlas.cz
31. 8. 2004 • 16:59

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

sappy
30. 8. 2004 • 11:07

Zdravim,

odkaz pod clankem na prvni dil je spravne?

sappy

milanpetrik@atlas.cz
30. 8. 2004 • 13:52

Ano, teď jsem jej zkoušel a funguje - není součást článku, ale je generován redakčním systémem.

milanpetrik@atlas.cz
30. 8. 2004 • 13:56

...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.

sappy
30. 8. 2004 • 14:09

To jsem mel na mysli

Diky

Jarek
30. 8. 2004 • 11:06

odkaz na vývojové prostředí nefunguje. Hlásí Service unavailable

sappy
30. 8. 2004 • 11:24

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

milanpetrik@atlas.cz
30. 8. 2004 • 13:36

Patrně je tam kontrola na referer na linkování z jné domény....

milanpetrik@atlas.cz
30. 8. 2004 • 15:27

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.01
jakož i link na soubor s konfifguraci, pokud používáte starší verzi .NET Framework 1.0:
http://zephir.wz.cz/vbnet/SnippetCompilerConfig.zip

Luděk Roleček
30. 8. 2004 • 10:05

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.

Luděk Roleček
30. 8. 2004 • 10:12

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.

milanpetrik@atlas.cz
30. 8. 2004 • 13:12

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ů.

Luděk Roleček
30. 8. 2004 • 10:36

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 = 10
pocetKolecek = pocetLokecek + 1
System.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é.

00,0,,
30. 8. 2004 • 10:50

Tohle by se jaksi ani neprelozilol...

Mem
30. 8. 2004 • 13:29

A proc ne?

milanpetrik@atlas.cz
30. 8. 2004 • 13:34

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.

milanpetrik@atlas.cz
30. 8. 2004 • 13:25

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ý.

Mem
30. 8. 2004 • 13:31

Ano, to PHP me s timhle maximalne vytaci, to ale neni omluva pro to, aby se tak psalo i ve VB .NET

milanpetrik@atlas.cz
30. 8. 2004 • 13:48

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.

Ludek Rolecek
30. 8. 2004 • 13:41

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.

Ludek Rolecek
30. 8. 2004 • 13:48

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.

Reakce pod tímto příspěvkem se už neodsazují.
milanpetrik@atlas.cz
30. 8. 2004 • 14:11

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.

milos
30. 8. 2004 • 7:49

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š

cicobasket
30. 8. 2004 • 9:46

Tak si precti co je v programu a ne co mas na obrazku codere .) .

milanpetrik@atlas.cz
30. 8. 2004 • 13:04

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.

Yarda
30. 8. 2004 • 7:31

ale bezici v prostredi Windows?

Nezmar
7. 1. 2005 • 21:47

QBasic is death :o)

rychna
30. 8. 2004 • 0:26

Zalezi na tom?

milanpetrik@atlas.cz
30. 8. 2004 • 1:12

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.

milanpetrik@atlas.cz
30. 8. 2004 • 1:14

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

David Pokluda
30. 8. 2004 • 9:32

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.

milanpetrik@atlas.cz
30. 8. 2004 • 13:00

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ěž.

Reakce pod tímto příspěvkem se už neodsazují.
cicobasket
30. 8. 2004 • 18:07

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.

Určitě si přečtěte

Články odjinud