Witam,
mam zmienną typu String, która zawiera kilka przypadkowych liczb oddzielonych przecinkiem.
Chciałbym w Pascalscript użyć tej listy do warunku
if wartosc in [lista wartosci] then
.
W podobny sposób jak w SQL jest
WHERE wartosc IN (warunek1, warunek2)
Jak mogę to zrobić?
Może chodzi ci o coś w stylu:
case string of
'hello', 'world', 'test': foo()
Nie wiem, jak działa Pascalscript, ale w FPC powinno to działać.
W podobny sposób jak w SQL jest
Pascal to nie SQL. To inne rodziny języków. Ogarnij podstawy, to będziesz wiedzieć jak.
case string of
'hello', 'world', 'test': foo()
Nie wiem, jak działa Pascalscript, ale w FPC powinno to działać.
Skompiluj i sprawdź że nie działa.
Kompiluje się i działa w FPC 2.6.0.
Rzeczywiście (zdziwiony).
Również w userchanges nie widzę zmiany, a wydaje mi się że FPC (2.4.0?) nie akceptował stringów w case. Pewnie coś innego sknociłem i zapamiętałem że stringi nie działają... Hmhm, dzięki za uświadomienie o_O :P
może dlatego, że tak jest w c?
Nie używam C ani C++. Więc nie. Zresztą co to ma do FPC.
Po prostu miałem takie przeświadczenie bo kiedyś chciałem zrobić case of string i FPC mi się na tym wywaliło. Więc albo było to kiedyś i to zmienili albo był to mój błąd i tak mi pamięci tak zostało. Ale cóż, uczymy się na błędach :P .
-123oho napisał(a):
W podobny sposób jak w SQL jest
Pascal to nie SQL. To inne rodziny języków. Ogarnij podstawy, to będziesz wiedzieć jak.
- To jest forum Newbie
- Twój post bardziej pasuje tutaj Off-Topic
Skompiluj i sprawdź że nie działa.
Działa.
Jednak gdy wstawię zmienną zamiast tej listy, to nie działa. Tak wygląda mój kod:
case nazwa of lista : Visible:=True; else Visible:=False; end;
Zdaję sobie sprawę, że nie znam pewnych podstaw, ale proszę o jakieś wskazówki.
case nazwa of
lista : Visible:=True;
else
Visible:=False;
end;
Można by uprościć do:
Visible := (nazwa = lista);
bądź:
Visible := lista.indexOf(nazwa) > -1;
(przyjmując, że lista
jest typu TStringList
)
- To jest forum Newbie
- Twój post bardziej pasuje tutaj Off-Topic
- I czy to ciebie usprawiedliwia z nieznajomości podstaw tego języka?
- Nie.
Zdaję sobie sprawę, że nie znam pewnych podstaw, ale proszę o jakieś wskazówki
Wskazówka: Idź się naucz podstaw.
case nazwa of
lista : Visible:=True;
else
Visible:=False;
end;
Kolejny co o instrukcje IF pyta. No co to cholera jest.
Nie, podstawy nie są potrzebne. Dopiero gdy trzeba z nich skorzystać (czyli zawsze) to się przydają. Genialne!!!
String w case działa dopiero od FPC 2.6.0, tak na marginesie.
Tak właśnie myślałem ale nie mogłem znaleźć na to info na FPC wiki.