Ukaz If...Then...Else

Definira enega ali več programskih blokov, za katere želite, da se izvedejo le v primeru, da je nek pogoj izpolnjen.

Skladnja:

If pogoj=true Then blok ukazov [ElseIf pogoj=true Then] blok ukazov [Else] blok ukazov EndIf

Namesto Else If lahko zapišete ElseIf, namesto End If pa EndIf.

Parametri:

Ukaz If...Then izvaja programske bloke v odvisnosti od pogojev. Ko LibreOffice Basic naleti na ukaz If, najprej preizkusi pogoj. Če je pogoj uresničen (Res), se izvedejo vsi ukazi vse do naslednjega ukaza Else ali ElseIf. Če pogoj ni izpolnjen (Ni res) in se v stavku nahaja ElseIf, LibreOffice Basic preizkusi naslednji pogoj in izvede ukaze, ki mu sledijo v primeru, da je pogoj res. Če ni res, program nadaljuje ali z naslednjim ukazom ElseIf ali Else. Ukaze, ki se nahajajo za Else, izvede samo v primeru, če noben od predhodnih pogojev ni resničen. Po preizkusu vseh pogojev in po izvedbi tozadevnih blokov ukazov program nadaljuje z ukazi, ki se nahajajo za ukazom EndIf.

Ukaze If...Then lahko gnezdite.

Ukaza Else in ElseIf sta neobvezna.

Ikona opozorila

Uporabite lahko GoTo in GoSub, da skočite iz bloka If...Then, skok v nasprotni smeri, v strukturo If...Then, pa ni mogoč.


Naslednji primer omogoča vnos roka zapadlosti izdelka, nakar program preveri, če je izdelek že zapadel.

Primer:

Sub ExampleIfThenDate

Dim sDate As String

Dim sToday As String

    sDatum = InputBox("Vnesite rok veljavnosti (DD.MM.LLLL)")

    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 "Rok zapadlosti je potekel"

    ElseIf sDate > sToday Then

        MsgBox "Rok zapadlosti še ni potekel"

    Else

        MsgBox "Rok zapadlosti je današnji dan"

    End If

End Sub