If...Then...Else Statement
Lause mÀÀrittelee yhden tai useamman lauselohkon, jotka on tarkoitus suorittaa vain, jos annettu ehto tÀyttyy.
Syntaksi:
If ehto_1=true Then lauselohko_1 [ElseIf ehto_m=true Then] lauselohko_m [Else] lauselohko_n EndIf
Else If voidaan kirjoittaa ElseIf ja End If voidaan kirjoittaa EndIf.
Parametrit:
If...Then -lause suorittaa ohjelmalohkoja annettujen ehtojen mukaisesti. Kun LibreOffice Basic tulkitsee If lauseen, ehto_1 testataan. Jos ehto_1:n totuusarvo on True (tosi), kaikki seuraavat lauseet suoritetaan seuraavaan Else- tai ElseIf-lauseeseen asti. Jos ehto_1:n arvo on False (epÀtosi) ja ElseIf-lause seuraa, LibreOffice Basic testaa seuraavan ehdon ja suorittaa seuraavat lauseet, jos ehto on arvoltaan True. Jos arvo on False, ohjelma jatkaa seuraavasta ElseIf- tai Else-lauseesta. Else-osan lauseet suoritetaan vain, jos mikÀÀn edellisistÀ testeistÀ ei ole tuottanut arvoa True. Kun kaikki ehdot on arvioitu ja niitÀ vastaavat rivit suoritettu, ohjelma jatkuu EndIf-rivin jÀlkeisestÀ lauseesta.
Useita If...Then -lauseita voi asettaa sisÀkkÀin.
Else- ja ElseIf-lauseet ovat valinnaisia.
GoTo- tai GoSub-kÀskyÀ voi kÀyttÀÀ If...Then-lohkosta poistumiseen, muttei If...Then-rakenteeseen sisÀÀn siirtymiseen.
Seuraavassa esimerkissÀ on mahdollista syöttÀÀ tuotteen vanhentumispÀivÀ ja mÀÀrittÀÀ, onko vanhentumispÀivÀ jo ohitettu.
Esimerkki:
Sub ExampleIfThenDate
Dim sDate As String
Dim sToday As String
sDate = InputBox("Anna vanhentumispÀivÀ (PP.KK.VVVV)")
sDate = Right$(sDate, 4) + Mid$(sDate, 4, 2) + Left$(sDate, 2)
sToday = Date$
sToday = Right$(sToday, 4)+ Mid$(sToday, 4, 2) + Left$(sToday, 2)
If sDate < sToday Then
MsgBox "VanhentumispÀivÀ on ohitettu"
ElseIf sDate > sToday Then
MsgBox "VanhentumispÀivÀ ei ole vielÀ mennyt"
Else
MsgBox "VanhentumispÀivÀ on tÀnÀÀn"
End If
End Sub