MSDN == Microsoft Developer Network Library

Podobné dokumenty
MANUÁL PRO PRÁCI S POČÍTAČOVÝM PROGRAMEM SLUNÍČKO

Seznámení s prostředím dot.net Framework

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

DUM 06 téma: Tvorba makra pomocí VBA

Objektově orientované programování

Programovací jazyk Úvod do programování v C#

Algoritmus (nebo dřívějším pravopisem algorithmus)

Programovací jazyk C# Úvod do programování v C#

Programovací jazyk C# Úvod do programování v C#

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Team Engineering. New in V13. TIA Portal news. Restricted / Siemens AG All Rights Reserved.

Vytvoření.NET komponenty (DLL) ve Visual Studiu

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

Algoritmy I. Cvičení č.1 ALGI 2015/16

3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework

DTP Základy programování Úvod do předmětu

Úvod do jazyka C. Proč jazyk C

Aplikace a sestavení Sestavení (assembly)

Základy programování (IZP)

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Lekce 6 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

TVORBA MULTIMEDIÁLNÍCH PREZENTACÍ. Mgr. Jan Straka

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Assembly a jazyková interoperabilita

Pokročilé programování v jazyce C pro chemiky (C3220) Úvod do jazyka C++

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE

PB161 Programování v jazyce C++ Přednáška 7

PB161 Programování v jazyce C++ Přednáška 7

Výčtový typ strana 67

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Algoritmizace a programování

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Knihovna QT4 a moºnosti jejího vyuºití

10 Balíčky, grafické znázornění tříd, základy zapozdření

Cílem kapitoly je seznámit studenta se strukturou programu a jeho překladem.

Projekt do předmětu PAS. Textový editor

Algoritmizace. Cíle předmětu

Návod pro vzdálené p ipojení do sít UP pomocí VPN pro MS Windows 7

PREPROCESOR POKRAČOVÁNÍ

ČÁST 1. Základy 32bitového programování ve Windows

Základy programování (IZP)

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

1. ÚVOD PRÁCE S PROGRAMEM RADON A. ZALOŽENÍ NOVÉ ÚLOHY... 12

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19

Základy programování (IZP)

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Operační systémy. Cvičení 3: Programování v C pod Unixem

IUJCE 07/08 Přednáška č. 1

Cílem kapitoly je sezn{mit s vývojovými prostředími, používanými pro programov{ní v C#.

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Pokud neuvedeme override, vznikne v synu nová (nevirtuální) metoda (a pochopitelně se nezavolá, jak bychom

8 Třídy, objekty, metody, předávání argumentů metod

Úvod Vývojová prostředí Štábní kultura Dokumentace Konec. Programování v C# Prostředí a doporučení 1 / 39

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

Programování v Javě I. Leden 2008

Adresa p íslušného ú adu. Ú ad:... Ulice:... PS, obec:...

PROGRAMOVÁNÍ V C++ CVIČENÍ

Prostory jmen. #include<iostream.h> namespace RadimuvProstor { int secti(int a, int b); class Trida { private: int Atribut; public: void metoda();

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

Softwarové komponenty a Internet

Seminář Java II p.1/43

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Sazba zdrojových kód. Jakub Kadl ík

NPRG031 Programování II 1 / :25:46

NMIN201 Objektově orientované programování 1 / :36:09

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

ŽÁDOST O VYDÁNÍ ROZHODNUTÍ O UMÍST NÍ STAVBY ÁST A

První kapitola úvod do problematiky

Stru ný obsah. Úvod do Microsoft.NET Kapitola 1: Vývoj her a ízený kód...15

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Jednotný vizuální styl: podpis v ové korespondenci.

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

C2184 Úvod do programování v Pythonu podzim Mgr. Stanislav Geidl Národní centrum pro výzkum biomolekul Masarykova univerzita.

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky

Programujeme v softwaru Statistica

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr)

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

Visual Basic for Application

1 - Úvod do platformy.net. IW5 - Programování v.net a C#

Programování v Javě I. Únor 2009

PB161 Programování v jazyce C++ Přednáška 10

Jazyk C# (seminář 6)

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

Algoritmizace a programování

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

DATABÁZE DŮLEŽITÉ: Před načtením nové databáze do vaší databáze si prosím přečtěte následující informace, které vám umožní:

IRAE 07/08 Přednáška č. 7. Začátek (head)

Vytvoření nebo odstranění makra Excel

Úřad vlády České republiky. Odbor (Agentura) pro sociální začleňování. Dobrá praxe v MAP. Martin Dobeš, Praha 3,

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

primární tlačítko (obvykle levé). Klepnutí se nejčastěji používá k výběru (označení) položky nebo k otevření nabídky.

NPRG031 Programování II --- 2/2 Z, Zk

Transkript:

1 MSDN == Microsoft Developer Network Library je živá (tj. webová) dokumentace ke všem produkt ů m tohoto softwarového giganta. Na webu je př ístupná každému zdarma. Verze na CD (3CD, resp. další 3CD pro archivní verzi) nebo na DVD obsahuje samostatnou aplikaci, která se propojí s Visual Studiem a slouží jako interaktivní nápově da. Jako taková je tato knihovna souč ástí Visual Studia, ovšem její aktuálnost odpovídá době uvedení produktu na trh. Opravdoví vývojář i softwaru dají př ednost nákupu ně jaké verze MSDN př edplatného, kdy MSDN Library je pravidelně č tvrtletně aktualizována. Na obrázku je vidě t strom MSDN Library, rozbalený nad refenrenč ní dokumentací jednotlivých prostor ů jmen FCL Framework Class Library.

2 Vaše první aplikace pro.net Framework Bude v C# a tradice velí již desítky let co existuje C a jeho potomci, že to musí být Hello, World. Je tomu tak proto, že tímto př íkladem zač ínala kniha o C od Briana W. Kernighana a Dennise M. Ritchieho s titulem The C Programming Language. 1 První aplikaci je vhodné napsat v Notepadu. Na uč ebně budeme používat Total Commander. Nejdř íve v domovském adresář i C:\Documents and Settings\student\My Documents založte vhodné podaresář e např. C:\Documents and Settings\student\My Documents\DotNet\MojeJmeno a pokud nechcete lozit po stromech, nezapomeň te si udě lat zkratku t.j. zmáč kně te Ctrl+D a př idejte aktuální adresář. Nyní zmáč kně te Shift+F4 a vepište a do Notepadu napište 1 Mimochodem originální hello.c vypadá takto: #include <stdio.h> main() { printf("hello, world\n"); }

3 a uložte. Nyní chceme kompilovat z př íkazové ř ádky. Kompilátor C# se jmenuje csc.exe, ale není k ně mu nastavena automaticky cesta. Pokud máte nainstalované Visual Studio, nastavíte cesty ke všem nástroj ů m spuště ním dávky vsvars32.bat, odkaz na ni je př ímo v nabídce Start/All Programs/Microsoft Visual Studio.Net 2003/ Microsoft Visual Studio.Net Tools/ Visual Studio.Net 2003 Command Prompt csc Hello.cs Na uč ebně doporuč uji zavě sit si nejdř íve na lištu Total Commanderu vsvars32.bat jako př íkazové tlač ítko (zavě ste si kafe) a nezapomeň te doplnit vhodnou ikonu.

4 Výhoda je v tom, že pokud nyní spustíte vsvars32.bat pomocí tohoto tlač ítka, z ů stanete v adresář i nastaveném Total Commanderem. Vepište csc Hello.cs a zmáč kně te Enter: Př íkaz je ekvivalentní tomuhle podrobně jšímu

Ř 5 csc /target:exe /out:hello.exe Hello.cs místo /target lze ovšem psát jen /t. Př íkaz spustí C# kompilátor a ten vyrobí spustitelný program v mezijazyce (tzv. ř ízený kód) se jménem Hello.exe. Pokud nyní Hello spustíme, automaticky bude CIL kód dale kompilován JIT Just In Time kompilátorem do nativního kódu a spuště n: Je na č ase náš kód objasnit, nep ů jdeme ovšem zatím do hloubky. 1. using System; 2. 3. class MyApp 4. { 5. static void Main () 6. { 7. Console.WriteLine ("Hello, world"); 8. } 9. } Protože vě tšina z Vás dosud používala pro programování jazyk Pascal, je tř eba zd ů raznit základní odlišnosti: Malá a velká písmena jsou všemi jazyky rodiny C (C# nevyjímaje) rozlišována! System a system jsou dva odlišné identifikátory. Pro vytvář ení blok ů kódu se v rodině C používají složené závorky. V Pascalu begin a end, v C# { a }. etě zce se v C jazycích ale např. i ve Visual Basicu uzavírají do uvozovek. Klasický Object Pascal z Delphi nezná prostory jmen, př ipravovaná.netová verze je znát musí. C# je stejně jako Sun Java a na rozdíl od Object Pascalu a C++ d ů sledně objekový jazyk, t.j. nezná procedury a funkce nezabalené do tř íd. Na druhou stranu ovšem vidíme i jednu společ nou vě c a totiž, že C-jazyky ukonč ují př íkaz stř edníkem. To neplatí ovšem pro jiný velmi rozšíř ený.net jazyk Visual Basic, který umožň uje ukonč ovat př íkazy novým ř ádkem, pro pokrač ování př íkazu na dalším ř ádku se potom používá podtrženítko. Na 1. ř ádku výpisu kódu je použita direktiva using, která právě souvisí se skuteč ností, že.net (CLR Common Language Runtime, CLS Common Language Specification) d ů sledně používá prostory jmen (namespace). Prostory jmen jsou v C# podobně jako

ů 6 v C++, prostř edkem napomáhajícím spravovat i velmi velké softwarové projekty (a o to dnes jde). Jejich použití m ů žeme př ipodobnit adresář ové struktuř e. Historicky existovaly primitivní operač ní systémy, které ještě nemě ly adresář ový strom. Např. takový byl systém CP/M 2. Tak pokud jste potř ebovali na CP/M uložit soubor pod názvem inventar.txt a soubor s tímto jmenem již existoval, došlo ke kolizi. Pokud jste kompletovali soubory z více disket, byl to nepř íjemný problém. Kdo mě l v té době PDP s prvním Unixem nebo nový DOS s adresář ovým stromem, vyř ešil problém vytvoř ením podadresář se jmény podle datových zdroj ů (např. Dilna1, Dilna2, Uctarna,...). Totéž a daleko nepř íjemně jším zp ů sobem se m ů že stát identifikátor ů m zejména v rozsáhlých projektech s použitím externího kódu (cizí knihovny). Samozř ejmě se nejdř ív musí urč it pravidla. Např. se doporuč uje, aby souč ástí identifikace byl unikátní název firmy, pak projektu atd. Identifikátory by tak mě ly být celosvě tově unikátní. Protože identifikátory mají být sebepopisné, vede toto pravidlo k velmi dlouhým názv ů m. Např. VUTBrnoFSIUMMating2R2003MMP3FrantaHelloApp což je velmi nepraktické (poznamenejme, že ně kdy i nemožné max. délka bývala omezená). Dobř e víte, jak to ř eší adresář ový strom souborového systému. Existuje možnost zadávat jen relativní cesty. Stejně tak je to s prostory jmen. Direktiva using System; prostě znamená, že identifikátory se budou vyhledávat v prostou jmen System. Kdybychom tuto direktivu neuvedli, museli bychom ř ádek 6. psát takto: 7. System.Console.WriteLine ("Hello, world"); Jazyky rodiny C nerozlišují jako Pascal procedury a funkce a proto pro ně nepotř ebují klíč ové slovo (Procedure, Function). Vlastně znají jen funkce, takže se vždy musí deklarovat návratová hodnota. Pokud to není potř eba, uvede se jako typ návratové hodnoty void. Procedury (ř íkám zatím procedury obecně ve smyslu procedurálního programování) však, jak už jsem ř ekl, nemohou v d ů sledně objektovém prostř edí být deklarovány mimo tř ídu a proto se jim ř íká metody (dané tř ídy). Náš program proto musí obsahovat deklaraci tř ídy 3. class MyApp v jejímž tě le (v bloku mezi složenými závorkami) vidíme deklaraci jediné metody 5. static void Main () 2 Pro CP/M ostatně vznikl první př ekladač Borland Pascal od Anders Hejlsberga, rovně ž hlavního autora Delphi. Nyní je Anders Hejlsberg jedním z hlavních architektů Microsoft iniciativy.net, u MS př itom již př edtím pracoval u MS na Visual Javě.

7 Atribut static je zde velmi d ů ležitý. Znamená to, že statická metoda (funkce, chcete-li) je ně co jako klasická funkce, kterou lze zavolat bez toho, že bych vyrobil tzv. instanci tř ídy (objekt). Takže tř ída funguje jen jako obálka, jmenný prostor. Metodu Main() bych zavolal MyApp.Main(); Ale takový kód nikde neuvidíte, metoda Main() a její př etížené varianty se nikdy nevolá z kódu programátora, ale naopak tvoř í vstupní bod pro CLR, které př i spuště ní aplikace metodu JIT př eloží do nativního kódu a spustí. Definici metody Main() najdeme v bloku na jediném ř ádku 7. Console.WriteLine ("Hello, world"); kterému již asi rozumíme. Volá se statická metoda WriteLine tř ídy Console ze jmenného prostoru System Framework Class Library (FCL), která vypíše text v uvozovkách do č erného konzolového okna. Zkušenost s ř ízeným kódem ukonč íme pohledem na mezijazyk CIL, který nám poskytne nástroj SDK ildasm (disassembler mezijazyka IL).

8 Konzolová aplikace ve Visual Studiu Z hlavní nabídky nebo pomocí Ctrl+Shift+N spustíme pr ů vodce novým projektem, vybereme C# jako jazyk projektu, Console Application jako typ projektu a stiskneme tlač ítko OK. V editoru dopíšeme kód Console.WriteLine ("Hello, world"); A pomocí Ctrl+F5 aplikaci spustíme.

9