If...Then...Else Statement
Egy vagy több utasĂtásblokkot definiál, amelyet egy megadott feltĂ©tel True Ă©rtĂ©kĂ©nĂ©l szeretnĂ© futtatni.
Szintaxis:
If feltĂ©tel=true Then UtasĂtásblokk [ElseIf feltĂ©tel=true Then] UtasĂtásblokk [Else] UtasĂtásblokk EndIf
Az Else If helyett használhatja az ElseIf és az End If helyett használhatja az EndIf kulcssavakat is.
Paraméterek:
Az If...Then utasĂtás az adott feltĂ©teltĹ‘l fĂĽggĹ‘en hajtja vĂ©gre a programblokkokat. Ha a LibreOffice Basic egy If utasĂtást talál, akkor megvizsgálja a feltĂ©telt. Ha a feltĂ©tel igaz, akkor vĂ©grehajtja a következĹ‘ Else vagy ElseIf utasĂtás elĹ‘tt levĹ‘ utasĂtásokat. Ha a feltĂ©tel hamis, Ă©s egy ElseIf utasĂtás következik, akkor a LibreOffice Basic megvizsgálja a következĹ‘ feltĂ©telt, Ă©s ha igaz, akkor vĂ©grehajtja a következĹ‘ utasĂtásokat. Ha hamis, akkor a program a következĹ‘ ElseIf vagy Else utasĂtással folytatĂłdik. Az Else után levĹ‘ utasĂtások csak akkor kerĂĽlnek vĂ©grehajtásra, ha a korábban vizsgált egyik feltĂ©tel sem volt igaz. Az összes feltĂ©tel kiĂ©rtĂ©kelĂ©se Ă©s a megfelelĹ‘ utasĂtások vĂ©grehajtása után a program az EndIf után utasĂtással folytatĂłdik.
Több If...Then utasĂtást is egymásba ágyazhat.
Az Else Ă©s ElseIf utasĂtás elhagyhatĂł.
A GoTo Ă©s GoSub utasĂtás segĂtsĂ©gĂ©vel kiugorhat egy If...Then blokkbĂłl, de nem ugorhat másik If...Then struktĂşrára.
A következő példa lehetővé teszi egy termék lejárati idejének megadását, és meghatározza, hogy ez a bizonyos határidő lejárt-e már.
PĂ©lda:
Sub ExampleIfThenDate
Dim sDate As String
Dim sToday As String
sDate = InputBox("Adja meg az érvényesség végét (HH.NN.ÉÉÉÉ)")
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 "Az érvényesség lejárt"
ElseIf sDate > sToday Then
MsgBox "Az érvényesség még nem járt le"
Else
MsgBox "Ma van az érvényessé vége"
End If
End Sub