Jak sprawdzić czy zmienna zawiera sie w zbiorze?

Pytania, kody i porady dotyczące nie tylko Bascom.
ODPOWIEDZ
Press
Posty: 65
Rejestracja: 21 sty 2018, 23:08

Jak sprawdzić czy zmienna zawiera sie w zbiorze?

Post autor: Press » 09 maja 2020, 10:11

Czy w BASCOM jest jakiś sposób, żeby szybko sprawdzić czy zmienna zawiera się w zbiorze?
Jeśli chodzi o konkretną wartość, to jest IF i proste.
Jeśli przedział na przykład 2 do 15 to też szybko IF albo SELECT CASE
Ale co jeśli chcę coś wykonać dla konkretnych wartości zmiennej, na przykład [3,5,8,15,35]?
Czy jest jakaś konstrukcja w stylu pascalowego: IF X in [3,5,8,15,35] THEN...?
Jak wartości jest kilka to nie problem, ale jak jest kilkadziesiąt i nie przedziałami... ?
Awatar użytkownika
niveasoft
Posty: 1216
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Jak sprawdzić czy zmienna zawiera sie w zbiorze?

Post autor: niveasoft » 09 maja 2020, 11:29

  1. Select Case
  2.  Case Is <
  3.  Case Is >
  4. End case
Jak nie wystarczy to pytaj dalej ;)

Jest coś takiego jak "ON" ->wymaga trochę zrozumienia.. On value->
Press
Posty: 65
Rejestracja: 21 sty 2018, 23:08

Re: Jak sprawdzić czy zmienna zawiera sie w zbiorze?

Post autor: Press » 09 maja 2020, 11:56

Tak. Select Case znam.
A z tym ON to bardziej w drugą stronę.
Jedna procedura dla kilku wartości spełniających warunek.

Chodzi mi o coś takiego:

If X =1 or X= 5 or X=10 or X= 19 then
...
...
END if

Tylko jeśli tych wartości spełniających warunek jest kilkanaście czy więcej to IF się mocno wydłuży.
Mój pomysł to tabela wartości spełniających warunek i przeszukiwanie jej w pętli, lub sekcja DATA i też przeszukiwanie.
Ale może jest jakiś prostszy sposób na który nie mogę wpaść?

coś w stylu:

If X (znajduje się w zbiorze) [1,5,10,19] Then
...
...
End If
ODPOWIEDZ