Модул
Съдържание
Индекс 🔎︎

# Оператор If...Then...Else

Определя един или повече операторни блока, които да се изпълнят само ако дадено условие е удовлетворено.

## Синтаксис:

    If условие=true Then Операторен блок [ElseIf условие=true Then] Операторен блок [Else] Операторен блок EndIf

Вместо Else If можете да пишете ElseIf и вместо End If – EndIf.

## Параметри:

Операторът If…Then изпълнява блокове от програмата в зависимост от дадено условие. Когато LibreOffice Basic срещне оператор If, се проверява условието му. Ако то е удовлетворено (True), се изпълняват всички оператори до следващия оператор Else или ElseIf. В противен случай (при стойност False) и ако има оператор ElseIf, LibreOffice Basic проверява следващото условие и изпълнява следващите оператори, ако то има стойност True. Ако стойността е False, изпълнението продължава със следващия оператор ElseIf или Else. Операторите, следващи Else, се изпълняват само ако никое от проверените условия не е било удовлетворено. След като са проверени всички условия и са изпълнени съответните оператори, изпълнението на програмата продължава с оператора след EndIf.

Можете да влагате операторите If…Then един в друг.

Операторите Else и ElseIf не са задължителни.

Чрез операторите GoTo и GoSub можете да организирате преход навън от блок If…Then, но не и преход отвън към вътрешността на структура If…Then.

Следващият пример ви позволява да въведете крайната дата на срока на годност на продукт и определя дали срокът е изтекъл.

## Пример:

    Sub ExampleIfThenDate
    Dim sDate As String
    Dim sToday As String
        sDate = InputBox("Въведете датата на изтичане на срока (ММ.ДД.ГГГГ)")
        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 "Срокът е изтекъл."
        ElseIf sDate > sToday Then
            MsgBox "Срокът още не е изтекъл."
        Else
            MsgBox "Срокът изтича днес"
        End If
    End Sub