Текущий архив: 2005.12.25;
Скачать: CL | DM;
Вниз
операция "in" Найти похожие ветки
← →
Alex7 (2005-12-06 11:15) [0]Уважаемые мастера!
Вместо
Var r1:string; Begin r1:= "ab";
If (r1="cm") or (r1="ed") or (r1="pn") or (r1="sp") Then.....
Хочу использовать более короткое:
Var r1:string; Begin r1:= "ab";
If r1 in ["cm", "ed", "pn", "sp"] Then.....
Компилятор выдает:
"Ordinal type required" и
"Incompatible types "integer" and "string" ",
хотя. как я понимаю в [] должно быть любое
множество строк.
Подскажите, пожалуйста, в чем моя ошибка ?
Спасибо.
← →
Плохиш © (2005-12-06 11:17) [1]Тип "string" не относится к "Ordinal type"
← →
Digitman © (2005-12-06 11:18) [2]r1 не может иметь строковый тип, только - ordinal-тип ... о чем собственно компилятор тебе и сказал
← →
Хинт © (2005-12-06 11:46) [3]Короче говоря нельзя использовать строки, в качестве элементов множества (char, byte, integer, но не string)
← →
Alex7 (2005-12-06 12:20) [4]Если я правильно понял, использование
операции "in" очень ограничено и в моем
случае невозможно ?
← →
begin...end © (2005-12-06 12:26) [5]uses StrUtils;
if AnsiIndexStr(r1, ["cm", "ed", "pn", "sp"]) >= 0 then
...
← →
Alex7 (2005-12-06 12:33) [6]Понятно! Спасибо.
Страницы: 1 вся ветка
Текущий архив: 2005.12.25;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.013 c