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

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

Синтаксис:

Оператор If...EndIf


  If condition Then 
      statements
  [{ElseIf} condition Then
      statements]
  [Else 
      statements]
  {EndIf|End If}

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

tip

Когато се използват блокове от по един оператор, операторите If могат да се скъсяват до един ред.



  If condition Then statement [Else statement]

Параметри:

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

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

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

Икона Внимание

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


Пример:

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


Sub ExampleIfThenDate
    Dim sInput As String
    Dim dInput As Date
 
  On Error Goto inputError
    sInput = InputBox("Въведете крайната дата (YYYY-MM-DD)")
    dInput = DateValue(sInput)
 
    If dInput < Date() Then
        MsgBox "Срокът е изтекъл."
    ElseIf dInput > Date() Then
        MsgBox "Срокът още не е изтекъл."
    Else
        MsgBox "Срокът изтича днес"
    End If
 
inputError:
    If dInput = 0 Then MsgBox "Невалиден вход"
End Sub

Оператор Select Case

Функции Iif и Switch

Моля, подкрепете ни!