login  Naam:   Wachtwoord: 
Registreer je!
 Tutorials

Tutorials > ASP


Gegevens:
Geschreven door:
nemesiskoen
Moeilijkheidsgraad:
Normaal
Hits:
8289
Punten:
Aantal punten:
 (4.8)
Aantal stemmen:
5
Stem:
Niet ingelogd
Nota's:
 Lees de nota's (0)
 

Tutorial:

Subroutines en functies

1. Inleiding
2. Subroutines maken
3. Functies maken
4. Uitgebreid voorbeeld
 top
1. Inleiding

Ik ga in deze tutorial het aanmaken van Subroutines en functies bespreken.
Als laatste ga ik ook een uitgebreid voorbeeld geven van het gebruik van de twee.
Een subroutine wordt gebruikt om een blok code te herhalen met of zonder bepaalde ingevoerde variabelen (argumenten).
Functies worden gebruikt om berekeningen te maken met of zonder bepaalde ingevoerde variabelen (argumenten) en de waarde terug te sturen.
Je zou dit bv. kunnen gebruiken als je constant een ambetante code moet schrijven die eigenlijk constant hetzelfde doet, behalve dan op 1 variabele na.
Dan laat je deze variabele invoeren en voer je een opdracht uit of stuur je een waarde terug.
 top
2. Subroutines maken

Zoals al eerder gezegt is een subroutine een blok code. Deze blok code maak je op voorand en declareer je als een subroutine.
Je kan bepaalde variabelen meegeven aan de subroutine maar hierover dadelijk meer.
Nu kan je, waneer je wilt, overal in je applicatie de subroutine aanroepen.

Een subroutine blok stuurt geen waarde terug.
Deze zal enkel bewerkingen maken en output terugsturen.
Je kan argumenten meegeven (en vervolgens weergeven).

Een voorbeeld van een subroutine die automatisch een br zet.
<%

Sub zetBr
    Response
.Write "<br />"
End Sub

Response
.Write 1
zetBr
Response
.Write 2

%>

Je begint een subroutine met het keyword 'Sub' gevolgd door de sub-naam.
Daarna zet je alle acties die moeten gebeuren.
Om af te sluiten zet je End Sub.
Om hem aan te roepen gebruik je de sub-naam.
Als deze niet wordt gevonden wordt er een error gegeven.

Hier geef ik een voorbeeld van hoe je argumenten meegeeft.
Deze subroutine output tekst (net zoals Response.Write doet).
<%

Sub schrijf (tekst)
    
Response.Write tekst
End Sub

schrijf
("halo")

%>

Deze subroutine zal een argument ontvangen.
Een argument is een gegeven dat je meegeeft aan je functie of subroutine zodat je hier berekeningen mee kan doen.
Je kan ook het argument (mogelijk na enkele berekeningen) weergeven.
Maar misschien iets handiger zou zijn dat je het berekend resultaat zou kunnen opvangen in een andere variabele.
Dit bespreek ik in volgend hoofdstuk.
 top
3. Een functie maken
Bij een functie stuur je een waarde terug.
Deze waarde kan je opvangen in een variabele.
Zo kan je bv. een functie maken die een som maakt en de waarde terugstuurt.
<%

Dim resultaat

Function som(getal1, getal2)
    
som = getal1 + getal2
End
Function

resultaat = som(2,4)

Response.Write resultaat


%>

Het declareren van een functie gaat het zelfde als bij een subroutine.
Je kan argumenten ontvangen en hiermee bewerkingen doen (in ons geval optellen -> +).
Vervolgens kan je deze waarde terugsturen door de functie gelijk te stellen aan deze waarde.
Zodat bij een aanroep hiervan de waarde kan worden opgevangen.

 top
4. Uitgebreid voorbeeld
Hier volgt een 'uitgebreid' voorbeeld met bijbehorend commentaar.
<%
Dim bewerking
Dim getala
, getalb
Dim resultaat
'variabelen declareren

Function som(getal1, getal2) 'deze functie stuurt een som terug
    
som = getal1 + getal2
End
Function

Function
verschil(getal1, getal2) 'verschil terugsturen
    
verschil = getal1 - getal2
End
Function

Function
product(getal1, getal2) 'product...
    
product = getal1 * getal2
End
Function

Function
quotient(getal1, getal2) 'en quotient
    
if getal2 = 0 Then 'als het tweede getal nul is mag hij niet proberen te delen! (deling door nul is onmogelijk)
        
quotient = "Delen door nul is onmogelijk!"
    
Else 'anders wel delen
        
quotient = getal1 / getal2
    End
if
End Function

getala = Round(request.querystring("getala"),2) 'de round gebruik ik om aan te duiden dat ik met getallen ga werken
getalb = Round(request.querystring("getalb"),2) 'anders zou hij de string waarde van getal1 en getal2 optellen (en dit resultaat geven 5 + 5 = 55
bewerking = request.querystring("bewerking")

select case bewerking
    
case "som": resultaat = som(getala, getalb) 'als er gekozen is voor som dan de som functie uitvoeren
    
case "verschil": resultaat = verschil(getala, getalb) 'verschil is gekozen
    
case "product": resultaat = product(getala, getalb) 'product is gekozen
    
case "quotient": resultaat = quotient(getala, getalb) 'quotient is gekozen
    
case else: resultaat = "Voer een bewerking uit." 'niets is gekozen OF er is met de header geknoeid
end select
    
Response
.Write resultaat 'resultaat weergeven
'en hieronder het formuliertje
%>

<
form name="bewerking" action="" method="get">
getal1: <input type="text" name="getala" /><br />
getal2: <input type="text" name="getalb" /><br />
bewerking:
    <
select name="bewerking">
        <
option value="som">som</option>
        <
option value="verschil">verschil</option>
        <
option value="product">product</option>
        <
option value="quotient">quotient</option>
    </
select>
<
br />
<
input type="submit" name="submit" value="bereken!" />
</
form>


Het resultaat daarvan kan u hier bekijken.

Dit was het dan voor deze keer.
 top

« Vorige tutorial : Arrays (uitgebreid) Volgende tutorial : Formulieren (gegevens verzenden en opvragen) »

© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.017s