Grundkurs i VB - Funktioner
Förord
Som nybörjare kanske du inte behöver eller vill använda funktioner i dina projekt, eftersom det kan verka lite krånligt och onödigt vid väldigt små projekt. Men funderar du på att programmera större projekt eller en längre tid behöver du kunna funktioner.Innehåll
»»
»
»
»
Relaterade artiklar
» Grundkurs i VB - SubrutinerVad är en funktion!?
Funktioner eller metoder
En funktion eller även kallad metod är vad man kan kalla en kod rad som används om och om igen.Ex. om du gör ett projekt med en massa kod så blir det tillslut mils långt, kan du i denna kod hitta saker som används flera gånger är detta jätte bra eftersom du kan göra en funktion av just den kod snutten.
Här vissar jag hur du kan använda samma kodrad flera gånger utan att behöva skriva ut den på alla platser
Dim bRetur As Boolean
Private Sub cmdDela_Click()
If NollKontroll(txtTal1.Text) = True Then
Svar = Val(txtTal1.Text / txtTal2.Text)
Else
MsgBox "Du kan inte dela med noll"
End If
End Sub
Private Sub cmdMultiplisera_Click()
If NollKontroll(txtTal1.Text) = True Then
Svar = Val(txtTal1.Text * txtTal2.Text)
Else
MsgBox "Du kan inte multiplisera med noll"
End If
End Sub
Private Function NollKontroll(intTal As Integer)
If intTal <> 0 Then
bRetur = True
Else
bRetur = False
End If
NollKontroll = bRetur
End Function
Förklaring:
Som du ser i exemplet kontrolleras så att inte txtTal1 är noll på mer än ett ställe. Därför är det lättare att skriva en funktion att kontrollera om txtTal1 är noll eller inte.Man skulle lika väl kunna skriva...
If intTal <> 0 Then
...på alla ställen där det står:
If NollKontroll(txtTal1.Text) = True Then
Eftersom detta bara var ett exemple kunde vi gjort så, men tänk dig att funktionen skulle innehålla 20 rader kod. Då skulle du behöva skrivit 20 rader kod på båda ställena istället för bara på ett.
Så fungerade exemplet:
Först deklaraerade vi bRetur som en Boolean.
Dim bRetur As Boolean
En Boolean är deklarationen på något som bara kan bli ja eller nej, true eller false.
bRetur ska hålla "nyckeln" till om funktionen NollKontroll blev true eller false. True blir det om txtTal1 är annat än noll, och false om txtTal1 är noll.
Deklarationen av funktionen gör vi genom att först ange den som Private och att det är en funktion Function, själva funktionen ger vi namnet NollKontroll som ska ta emot en parameter som är Integer. Vad parametern heter har inget med vad den du skickar heter. (mer om det snart)
Private Function NollKontroll(intTal As Integer)
När du anropar en funktion skickar du med de parametrar som begärs, i detta fallet en integer. Vi skickar txtTal1, eftersom det är den som ska användas i funktioen.
If NollKontroll(txtTal1.Text) = True Then
Här frågar du funktionen NollKontroll om txtTal1.Text är noll eller inte. NollKontroll kör sin test och skickar sedan tillbaka svar om den va det eller inte
NollKontroll = bRetur
Då hoppar vi tillbaka till if-satsen där du begärda att använda NollKontroll. Har NollKontroll returnerat att txtTal1 inte är noll så kör den nästa rad annars kommer en meddelande ruta ut med texten "Du kan inte dela med noll".
Parametrar:
Namnet som anges när du anropar funktionen är det värde funktionen kommer använda. Men i själva funktionen där du deklarerade att du vill ha en integer kan du använda vilket namn som helst. Där rekomenderar jag dock att du tar något likt det värdet du använder. Vi använde intTal eftersom det är deklarerad som en integer och är ett tal.
Använda funktioner:
Detta är inget måste men jag gör så och jag har blivit rekomenderar att göra det av många:När du använder en funktion se till att du använder den för att returerar ett värde och inte för att utföra saker i formen exp. sätta Caption på en Label. Till det kan du använda Subar.
Att gör så är inte bara enklare för dig utan ger dig även möjligheten till att sätta in funktioner i moduler utan problem.
Egentligen kan du göra allt detta i subar men det gör det lättare för dig att följa koden och där med felsöka.
Mycket användbart i större projekt.
Vid frågor tveka inte att fråga mig // R-mus
0 Kommentarer