Wykonywanie raportów > Select Case ... EndSelect - struktura | | Drukuj |
Struktura Select Case umożliwia wykonanie warunkowe bloku poleceń w zależności od wartości wyrażenia testowego. Wartość test jest porównywana kolejno z wartościami podanymi po słowach kluczowych Case i w przypadku równości wyrażeń lub prawdziwości porównania jest wykonywany blok wyrażeń występujący bezpośrednio po wartościach porównywanych, a kończący się następnym Case lub EndSelect. Specjalne wyrażenie Case Else, które może wystąpić tylko raz jako ostatni Case umożliwia wykonanie bloku poleceń w przypadku, gdy wszystkie pozostałe warunki nie zostały spełnione. W poleceniu tym zawsze wykonywany jest tylko jeden blok poleceń, nawet wtedy, gdy kilka wyrażeń jest prawdziwych. W takim przypadku wykonywany jest zawsze pierwszy w kolejności blok poleceń.
Składnia
Select Case test
Case wartosc
blok_polecen_1
Case wartosc_1, wartosc_2
blok_polecen_2
Case Is relacja wartosc
blok_polecen_3
. . . . . . .
Case Else
blok_polecen_n
EndSelect
Argumenty
Typ |
Nazwa |
Opis |
test |
Dowolne wyrażenie typu prostego. |
|
wartosc |
Dowolne wyrażenie lub lista wyrażeń oddzielonych przecinkami, porównywanych z wyrażeniem test. |
|
relacja |
Dowolne wyrażenie relacyjne, np. < > != == porównujące test i wartosc. Słowo kluczowe Is odpowiada tutaj wartości wyrażenia test. |
Wartość zwracana
Nie zwraca wartości.
Przykład
Int ch1, id2, id4
Int Sub OnCommand(int id, int msg)
If id == id4 Then Save
EndSub
Form "Zastosowanie poleceń Save", 400, 170
id2 = ChkBox "Testowane pole wyboru nr 1", ch1, 150, 30, 250, 24
id4 = Button "&Zapamiętaj stan elementu", 100, 62, 200, 24, 1
Button "O&K", 150, 100, 100, 24, -2
ExecForm OnCommand
//Określenie warunku wykonania bloku poleceń
Select Case ch1
//Komunikat o niezaznaczeniu pola testowego
Case 0
Message "Pole wyboru nie było zaznaczone"
Case Else
//Komunikat o zaznaczeniu pola testowego
Message "Pole wyboru było zaznaczone"
EndSelect
Error ""