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

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

 

ASP.NET – 7. lekce

Google       Google       7. 10. 2006       14 852×

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 RAD Studio a Windows Store

    RAD Studio a Windows Store

    RAD Studio je první vývojové prostředí se zabudovanou podporou balení aplikací typu Win32 a Win64 pro jejich umístění a šíření prostřednictvím Windows 10 Store.

    Reklama
    Reklama
    Obrázek ke článku Testujte na 2 400+ Android a iOS zařízení

    Testujte na 2 400+ Android a iOS zařízení

    V dnešní době, kdy většina softwaru pro mobilní aplikace je tvořena a distribuována průběžně, mnohdy do celého světa je třeba zajistit také průběžnou automatizaci testování mobilního softwaru. V případě mobilních aplikací pro Android a iOS začíná být problém, jak testovat na obrovském množství kombinací HW variant, rozměrů, edic operačních systémů různých výrobců v různých částech světa na reálných zařízení. Simulátory a emulátory nejsou většinou to pravé. Pokud již testuji, jak si udělat vlastní beta distribuci opravdovým reálným testerům napříč platformami?

    Obrázek ke článku Funkcie main vo Windows API

    Funkcie main vo Windows API

    V tretej časti seriálu o Windows API budeme hovoriť o funkčných prototypoch main. Funkčný prototyp je tvorený názvom funkcie a typom signatúry, pričom sa vynecháva telo funkcie. 

    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ý