Tjingeling! Optional menas att man inte behöver ange något värde till det argumentet när man anropar subben. Alla argument efter optional är optional inte bara det argument som du har optional framför. När du använder optional så vill du ofta ha ett standardvärde. Då gör du så här: Hej jag har plitat ihop ett litet exempel på hur du använder optional Tack sa mycket for hjalpen, det hela ar lite klarare nu!i funktioner: Optional som parameter
Skulle vilja anvanda optional men ar lite osaker pa hur det fungerar:
sa har vill jag skriva
Public Sub SPI_putch(ByVal OutByte As Long, Optional inbyte As Long)
...
inbyte= ...
end sub
inbyte ar ett varde som man skall kunna lasa av om man vill, maste detta da kapslas in pa nat satt eller kan man skriva som jag har gjort?
Hur fungerar igentligen optional?
/CissiSv: i funktioner: Optional som parameter
Public Sub MinSub(Argument1 As String, Optional Argument2 As string = "standardvärde")
'kod
end sub
mvh FransSv: i funktioner: Optional som parameter
Programmet beräknar logaritmen för olika tal i olika baser. Om du
utelämnar det andra argumentet så beräknas logaritmen för bas 10.
Alltså vårt talsystem.
Jag visar också på hur du med optional parametrar kan använda dig
av något som heter named arguments. Det är bra att ha om du har
funktioner som har kanske 4 optional parametrar då kan man använda
sig av den tekniken.
Hoppas att du förstår bättre nu
/peterh
Sample Code =====================================
Option Explicit
Private Sub Form_Load()
'Anropa med två parametrar
Debug.Print LogN(256, 2)
'Anropa med en parameter
Debug.Print LogN(100)
'Anropa med named arguments
Debug.Print LogN(512, Base:=8)
End Sub
Private Function LogN(X As Double, Optional Base As Variant) As Double
'Beräkna logaritmen för X i Bas N
If Not IsMissing(Base) Then
LogN = Log(X) / Log(Base)
Else
LogN = Log(X) / Log(10)
End If
End Function
Sample Code =====================================Sv: i funktioner: Optional som parameter