Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.47 MB
Время: 0.044 c
14-1133268593
Mike Kouzmine
2005-11-29 15:49
2005.12.25
Бедные немцы!


11-1115098181
Боб
2005-05-03 09:29
2005.12.25
Ошибки при компиляции KOLMCK v2.08


2-1134050184
КК
2005-12-08 16:56
2005.12.25
Ошибка при обращении к Excel


4-1130302678
HardMan
2005-10-26 08:57
2005.12.25
Определение модели винта и его скорости чтения/записи


2-1134038542
kyn66
2005-12-08 13:42
2005.12.25
Данные из таблицы показать в ComboBox