ASP.NET – 7. lekce
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

ASP.NET – 7. lekceASP.NET – 7. lekce

 

ASP.NET – 7. lekce

Google       Google       7. 10. 2006       15 083×

O procedurách a funkcích

Reklama
Reklama

Procedura & funkce

Někdy se stane, že musíme udělat některé činnosti v programu vícekrát. Pokud bychom je psali několikrát za sebou, program by se stal nepřehledným, a v případě, že bychom něco chtěli změnit, museli bychom to udělat vícekrát, a to už bychom někde mohli udělat chybu. Za tímto účelem tu máme procedury a funkce.

Rozdíl mezi procedurami a funkcemi

Rozdíl mezi procedurami a funkcemi je malý, ale docela podstatný. Procedury nevrací žádnou hodnotu, zatímco funkce ano, což znamená, že jejich činnost skončí nějakým výsledkem.

Vytvoření procedury

C#


void jmenoProcedury{
	prikazy..

}

VB


Sub jmenoProcedury
	Prikazy..

End Sub

Je to skoro to samé, jako když vytváříte hlavní proceduru Page_Load, akorát změníte jméno procedury.

Proceduru potom v hlavní proceduře zavoláme podle jejího názvu:

Příklad

C#

void Pozdrav(){
	Response.Write(„Nazdar kamaráde!“);

}

void Page_Load(){
	Response.Write(„A nyní zavoláme naší proceduru Pozdrav():  „);
	Pozdrav();   // nyní jsme zavolali proceduru Pozdrav() => Vypíše se Nazdar kamaráde
}
VB

Sub Pozdrav
	Response.Write(„Nazdar kamaráde“)

End Sub

Sub Page_Load
	Response.Write(„A nyní zavoláme naší proceduru Pozdrav():  „);
	Pozdrav  // nyní jsme zavolali proceduru Pozdrav => Vypíše se Nazdar kamaráde
End Sub

Procedury s parametry

Většinou se stane, že činnosti, které chceme provádět uvnitř procedury, nejsou úplně stejné, ale jsou trochu rozdílné. K tomu nám slouží parametry, jimiž lze ovlivňovat chování procedury.

C#


void Pozdrav(string barvaTextu){
	Response.Write(„Nazdar kamarade!
“); } void Page_Load(){ Pozdrav(„black“); Pozdrav(„red“); Pozdrav(„blue“); Pozdrav(„green“); }

Vytvořili jsme opět proceduru pozdrav. V závorce jsme vytvořili proměnnou typu string barvaTextu a pak jsme s ní pracovali v proceduře. Při volání procedury jsme do závorky dali řetězec s názvem barvy.

To samé ve VB.NET:


Sub Pozdrav(barvaTextu As String)
	Response.Write(„Nazdar kamarade!
“) End Sub Sub Page_Load Pozdrav(„black“) Pozdrav(„red“) Pozdrav(„blue“) Pozdrav(„green“) End Sub

Samozřejmě můžete v proceduře užít více parametrů. V takovémto případě oddělujete parametry čárkou:

C#


void Pozdrav(string barvaTextu,int velikostTextu){
	Response.Write(„Nazdar kamarade!
“); } void Page_Load(){ Pozdrav(„black“,5); Pozdrav(„red“,10); Pozdrav(„blue“,1); Pozdrav(„green“,50); }

VB


Sub Pozdrav(barvaTextu As String,velikostTextu As Integer)
	Response.Write(„Nazdar kamarade!
“) End Sub Sub Page_Load Pozdrav(„black“,5) Pozdrav(„red“,10) Pozdrav(„blue“,1) Pozdrav(„green“,50) End Sub

Funkce:

Jak jsem říkal na začátku, mezi procedurami a funkcemi není skoro žadný rozdíl, proto si teď ukážeme pouze jednoduchý příklad funkce:

C#


string Odkaz(string kam,string text){
        string x;
        x = "
  • "+text+"
  • "; return x; } void Page_Load(){ Response.Write(Odkaz("www.programujte.com","e-zin programujte")+Odkaz("www.atlas.cz","atlas.cz")); Response.Write(Odkaz("www.centrum.cz","Centrum.cz")+Odkaz("www.seznam.cz","seznam")); }

    Všiměte si, že když vytváříme funkci Odkaz, už není void, ale string. To z toho důvodu, že funkce vrací hodnotu typu string. Dále je tam důležitý příkaz return, tím definujeme, kterou hodnotu vracíme. V našem případě to je proměnná x. Pokud bychom na příkaz return zapomněli, překladač by nahlásil chybu.

    VB

    
    Function Odkaz(kam As String,text As String)As String
            Dim x As String
            x = "
  • "+text+"
  • " Return x End Function Sub Page_Load Response.Write(Odkaz("www.programujte.com","e-zin programujte")+Odkaz("www.atlas.cz","atlas.cz")) Response.Write(Odkaz("www.centrum.cz","Centrum.cz")+Odkaz("www.seznam.cz","seznam")) End Sub

    Ve VB.NET se funkce vytváří pomocí klíčových slov Function a End Function. Stejně jako u C# musíme definovat typ návratové hodnoty (v našem případě string).

    To je pro dnešek vše. Příště se podíváme na objekty.

    ×Odeslání článku na tvůj Kindle

    Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
    Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

    E-mailová adresa (např. novak@kindle.com):

    TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

    3 názory  —  3 nové  
    Hlasování bylo ukončeno    
    0 hlasů
    Google
    Alan se věnuje programování webových aplikací a jazyku C++. Studuje na FEI-VŠB v Ostravě

    Nové články

    Obrázek ke článku Dovozci baterií mění logistiku, letadlo nahrazuje námořní doprava

    Dovozci baterií mění logistiku, letadlo nahrazuje námořní doprava

    Dovozci baterií do mobilů či notebooků upouštějí od letecké přepravy zboží. V letošním roce plánují dovézt až 80 % produktů lodí. Přitom před 5 lety byla většina baterií do mobilních přístrojů dovezených do České republiky přepravována letadlem. Za proměnou způsobu transportu akumulátorů stojí zpřísnění pravidel pro leteckou přepravu, která přinášejí vyšší náklady i náročnou agendu.

    Reklama
    Reklama
    Obrázek ke článku JIC otevírá největší digitální dílnu pro veřejnost v České republice

    JIC otevírá největší digitální dílnu pro veřejnost v České republice

    JIC otevírá první nonstop veřejně dostupnou digitální dílnu světového formátu s vybavením za 3 miliony korun. Dílnu může využívat po registraci kdokoliv. V  prostorách vzniknou prototypy produktů místních startupů, projekty kutilů a studentů i umělecká díla. Cílem dílny je zpřístupnit veřejnosti drahé přístroje a přitáhnout více podnikavých lidí k technickým oborům.

    Obrázek ke článku Nový IT hráč na českém trhu

    Nový IT hráč na českém trhu

    V roce 2015 otevřela v Praze na Pankráci v budově City Tower své kanceláře společnost EPAM Systems (NYSE:EPAM), jejíž centrála se nachází v USA. Společnost byla založená v roce 1993 a od té doby prošla velkým vývojem a stále roste.

    loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
    Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
    Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý