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 235×

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

    Reklama
    Reklama
    Obrázek ke článku Blockchain & Bitcoin konference

    Blockchain & Bitcoin konference

    V pátek 19. 5. 2017 se v pražském konferenčním centru Andel’s konala Blockchain & Bitcoin konference. Řada odborníků a podnikatelů v oboru blockchainu a kryptoměn představila možnosti budoucího směřování tohoto oboru. Speakeři většinou rusky mluvící provenience prezentovali řešení svých firem založená na technologii blockchainu.

    Obrázek ke článku Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

    Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

    Bezpečnostní tým Cisco Talos odhalil celkem 4 kampaně dosud neobjeveného malwaru, který dostal jméno KONNI. Ten se dokázal úspěšně maskovat od roku 2014. Zpočátku se malware zaměřoval pouze na krádeže citlivých dat. Za 3 roky se ale několikrát vyvinul, přičemž jeho současná verze umožňuje útočníkovi z infikovaného počítače nejenom krást data, ale i mapovat stisky na klávesnici, pořizovat screenshoty obrazovky či v zařízení spustit libovolný kód. Pro odvedení pozornosti oběti zasílali útočníci v příloze také obrázek, zprávu a výhružkách severokorejského režimu či kontakty na členy mezinárodních organizací.

    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ý