If...Then...Else utasítás

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ó.

Figyelmeztetés ikon

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

Please support us!