Гость
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Почему нельзя проверить вождение в массив ч-з in ? / 9 сообщений из 9, страница 1 из 1
12.01.2022, 16:30
    #40126043
antox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя проверить вождение в массив ч-з in ?
Почему так нельзя сделать?

Код: pascal
1.
2.
3.
4.
5.
6.
var
 a: array [0..2] of string = ('1','2','3');
 s: string
begin
  if s in a then showMessage('in');
end;



Или можно array [0..2] of string на что-то сменить?
...
Рейтинг: 0 / 0
12.01.2022, 16:38
    #40126045
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя проверить вождение в массив ч-з in ?
antox,

потому, что тебе нужно множество а не массив
http://delphi-faq.ru/delphi-dlya-nachinaushix-s-nylya/massivy-v-delphi-strukturnye-tipy-dannyx.html
...
Рейтинг: 0 / 0
12.01.2022, 16:38
    #40126046
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя проверить вождение в массив ч-з in ?
in - для множеств, а не для массивов, для массивов - цикл, можно например for in
напиши функцию типа

if StringInArr(s, ...) then showMessage('in');
...
Рейтинг: 0 / 0
12.01.2022, 16:45
    #40126052
antox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя проверить вождение в массив ч-з in ?
Gerasimenko
antox,

потому, что тебе нужно множество а не массив
http://delphi-faq.ru/delphi-dlya-nachinaushix-s-nylya/massivy-v-delphi-strukturnye-tipy-dannyx.html


Изначально делал ч-з множество, но
Код: pascal
1.
a: set of string = ['one', 'two', 'three'];



тоже не летит :)
...
Рейтинг: 0 / 0
12.01.2022, 16:52
    #40126057
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя проверить вождение в массив ч-з in ?
antox
Gerasimenko
antox,

потому, что тебе нужно множество а не массив
http://delphi-faq.ru/delphi-dlya-nachinaushix-s-nylya/massivy-v-delphi-strukturnye-tipy-dannyx.html


Изначально делал ч-з множество, но
Код: pascal
1.
a: set of string = ['one', 'two', 'three'];




тоже не летит :)
множества - это битовые маски, а не списки строк.
Код: pascal
1.
2.
3.
4.
type
  TSetItem = (one, two, three);
var
  a: set of TSetItem;
...
Рейтинг: 0 / 0
12.01.2022, 16:53
    #40126058
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя проверить вождение в массив ч-з in ?
System.StrUtils.MatchText
function MatchText(const AText: string; const AValues: array of string): Boolean;
function MatchStr(const AText: string; const AValues: array of string): Boolean;
...
Рейтинг: 0 / 0
12.01.2022, 16:54
    #40126059
antox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя проверить вождение в массив ч-з in ?
X11
in - для множеств, а не для массивов, для массивов - цикл, можно например for in
напиши функцию типа

if StringInArr(s, ...) then showMessage('in');


вот такое извращение работает :)
Код: pascal
1.
if string.Join('.', a).IndexOf(s) > 0 then



но тут подводные камни
...
Рейтинг: 0 / 0
12.01.2022, 16:59
    #40126064
antox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя проверить вождение в массив ч-з in ?
X11
System.StrUtils.MatchText
function MatchText(const AText: string; const AValues: array of string): Boolean;
function MatchStr(const AText: string; const AValues: array of string): Boolean;


О, отлично MatchText - без учета регистра, то, что надо
...
Рейтинг: 0 / 0
13.01.2022, 12:43
    #40126270
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему нельзя проверить вождение в массив ч-з in ?
antox
X11
in - для множеств, а не для массивов, для массивов - цикл, можно например for in
напиши функцию типа

if StringInArr(s, ...) then showMessage('in');


вот такое извращение работает :)
Код: pascal
1.
if string.Join('.', a).IndexOf(s) > 0 then



но тут подводные камни
"зашибись" придумали
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Почему нельзя проверить вождение в массив ч-з in ? / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]