IBM Lotus Symphony
|
Definiuje jeden lub więcej bloków, które mają być wykonywane po spełnieniu warunku.
If warunek=true Then Blok instrukcji [ElseIf warunek=true Then] Blok instrukcji [Else] Blok instrukcji EndIf Zapis Else If może być stosowany zamiennie z zapisem ElseIf, a zapis End If - z zapisem EndIf.
Instrukcja If...Then uruchamia bloki programu w zależności od warunków. Po napotkaniu przez środowisko języka Basic programu Lotus® Symphony™ instrukcji If sprawdzany jest warunek. Jeśli warunek zwraca wartość True, wykonywane są wszystkie kolejne instrukcje do następnej instrukcji Else lub ElseIf. Jeśli warunek zwraca wartość False i wykryta zostanie instrukcja ElseIf, w środowisku języka Basic programu Lotus Symphony testowany jest następny warunek i wykonywane są poniższe instrukcje (jeśli warunek ma wartość True). W przeciwnym wypadku (wartość False), program przechodzi do następnej instrukcji ElseIf lub Else. Instrukcje występujące po instrukcji Else są wykonywane tylko wtedy, gdy żaden z poprzednich warunków nie miał wartości True. Po sprawdzeniu wszystkich warunków i wykonaniu odpowiednich instrukcji program przechodzi do instrukcji znajdujących się po instrukcji EndIf.
Można zagnieździć kilka instrukcji If...Then.
Instrukcje Else i ElseIf są opcjonalne.
![]() |
Za pomocą instrukcji GoTo i GoSub można wyjść z bloku If...Then, ale nie można wejść do struktury If...Then. |
Poniższy przykład umożliwia wprowadzenie daty ważności produktu i określenie, czy ta data już minęła.
Sub Przyklad_IfThenDate
Dim sDate as String
Dim sToday as String
sDate = InputBox("Wprowadź datę wygaśnięcia (MM.DD.YYYY)")
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 "Jest już po dacie wygaśnięcia"
ElseIf sDate > sToday Then
MsgBox "Data wygaśnięcia jeszcze nie nadeszła"
Else
MsgBox "Data wygaśnięcia przypada dziś"
End If
End Sub