Nyeste it-job

Lektion 9: Funktioner

I de tidligere lektioner har du lært at bruge funktioner som f.eks. Ubound og Weekday. I denne lektion vil du lære at lave dine egne funktioner med dokumentationFunction.

Hvad menes med en funktion?

En funktion kan behandle input og returnere et output. Det kan være nyttigt hvis du f.eks. har en lang række af data, som du skal have behandlet - eller hvis du på anden måde har en beregning eller rutine, som skal foretages mange gange.

En funktion opbygges på formen:

Function Navn(argumentliste)
   Sætning
End Function

Det vil sige at hvis vi ønsker at lave en helt simpel funktion, som kan plusser værdien 1 til et tal, kunne den se sådan her ud:

Function PlusEn(t)
   t = t + 1
   PlusEn = t
End Function

Vores funktion hedder altså PlusEn, og skal kaldes med et tal - f.eks. 34 ...

Response.Write PlusEn(34)

... som ikke overraskende vil returnere 35.

Dette eksempel arbejder med tal - men funktioner kan på præcis samme måde laves til at behandle tekst, datoer eller noget helt tredje. Man kan også lave funktioner, som kaldes med mange forskellige argumenter. I løbet af denne lektion vil du se mange forskellige eksempler på funktioner.

Eksempel: Funktion med flere argumenter

Som nævnt kan man uden problemer lave en funktion, som kan kaldes med flere argumenter. I dette eksempel vil vi lave en funktion, som kaldes med tre tal - og derefter returnerer værdien af de to tal sammenlagt:

<html>
<head>
<title>Løkker</title>
</head>
<body>
<%
Function Plus(tal1,tal2,tal3)
   Plus = tal1 + tal2 + tal3
End Function

Response.Write "123 + 654 + 9 er lig med " & Plus(123,654,9)
%>
</body>
</html>

OK? Det var jo næsten for simpelt - men pointet var bare at vise dig at en funktion kan kaldes med flere argumenter.

Eksempel: Dansk dato og tid

Lad os prøve at lave en lidt mere kompliceret funktion, som kaldes med en dato og tidspunkt, og returnerer formatet: onsdag d. 14. februar 2001 kl. 13:54

<html>
<head>
<title>Løkker</title>
</head>
<body>
<%
Function DanskDatoTid(dato)

  ' Array med danske navne på dage
  arrDag = ",mandag,tirsdag,onsdag,torsdag,fredag,lørdag,søndag"
  arrDag = Split(arrDag,",")

  ' Array med danske navne på måneder
  arrMaaned = ",januar,februar,marts,april,maj,juni,juli,august,"
  arrMaaned = arrMaaned & "september,oktober,november,december"
  arrMaaned = Split(arrMaaned,",")

  ' Datoen sammensættes
  DanskDatoTid = arrDag(Weekday(dato,VbMonday)) & " d. " & Day(dato) & ". "
  DanskDatoTid = DanskDatoTid  & arrMaaned(Month(dato)) & " " & Year(dato) 
  DanskDatoTid = DanskDatoTid  & " kl. " & FormatDateTime(dato, vbShortTime)

End Function

' Afprøv funktionen
Response.Write DanskDatoTid(Now)
%>
</body>
</html>

OBS: læg mærke til hvordan f.eks. 'arrMaaned' sammensættes over flere linier. Dette gøres af hensyn til de brugere af denne side, som benytter en lav skærmopløsning. Metoden har ingen betydning for selve koden.

Funktionen ovenfor fungerer på alle webservere uanset sprog. Det vil sige at du f.eks. kan bruge sådan en funktion hvis dit website er hostet på en amerikansk server, men du gerne vil have danske datoer.

Vi vil ikke på nuværende tidspunkt gå mere i dybden med funktioner - nu ved du lidt om hvordan de fungerer.


Nyhedsbrev
Tilmeld dig HTML.dk's nyhedsbrev


Er du jobsøgende?

 Ja
 Nej
Se det foreløbige resultat når du har stemt!


Se tidligere afstemninger

 Community
Brugernavn

Adgangskode

Husk

 *  Bliv medlem her
 *  Glemt password?


Om HTML.dk | Oplysninger om ophavsret | Politik om persondata | Annoncer på HTML.dk | RSS

Valid XHTML 1.1! Valid CSS! Powered by Scannet