× Aktuálně z oboru

SHIELD Experience Upgrade 7 – méně hledání a více zábavy [ clanek/2018052902-shield-experience-upgrade-7-mene-hledani-a-vice-zabavy/ ]
Celá zprávička [ clanek/2018052902-shield-experience-upgrade-7-mene-hledani-a-vice-zabavy/ ]

ASP.NET – 7. lekce

[ http://programujte.com/profil/733-alan-fuks/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/75-martin-zak/ ]Google [ :?rel=author ]       7. 10. 2006       18 768×

O procedurách a funkcích

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.


    Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2006100101-asp-net-7-lekce/ ].