Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.18;
Скачать: CL | DM;

Вниз

Узнать количество элементов   Найти похожие ветки 

 
DelphiLexx ©   (2007-01-31 17:05) [0]

У меня есть тип

TConstr = (cntPhys, cntChem, cntPhysChem, cntQuality)

Т.е. перечислимый тип TConstr содержит 4 элемента, как это узнать программно.
Пишу High(TConstr) выдается ошибка.


 
Amoeba ©   (2007-01-31 17:10) [1]


> Пишу High(TConstr) выдается ошибка.

Приведи код полностью. Телепаты в отпуске.
> перечислимый тип TConstr содержит 4 элемента, как это узнать
> программно.

Поясни, зачем это надо.


 
Amoeba ©   (2007-01-31 17:18) [2]

Создай переменную ThisVariable типа TConstr и далее через High(ThisVariable)+1 получишь искомое кол-во элементов.


 
DelphiLexx ©   (2007-01-31 17:38) [3]


> Поясни, зачем это надо.


procedure AddConstraints(Constr: TConstr);
begin
 case Constr of
   cntPhys: begin {что-то делаем} end;
   cntChem: begin {что-то делаем} end;
   cntPhysChem: begin {что-то делаем} end;
   cntQuality: begin {что-то делаем} end;
 end
end;

procedure SetConstraints;
begin

 for i := 0 to High(TConstr) - 1 do
   AddConstraints(TConstr(i))

  ...
end;


 
icWasya ©   (2007-01-31 17:41) [4]

>Пишу High(TConstr) выдается ошибка.

А почитать текст ошибки?

Eсли пишете

var I:Integer;
I:=High(TConstr);

то будет ошибка компиляции - несовместимые типы - Integer и TConstr, что наводит на мысль, что тип функции High то го же типа, что и её параметр. Ещгда следует написать


var I:Integer;
I:=Integer(High(TConstr));

и всё в шоколаде


 
DelphiLexx ©   (2007-01-31 18:12) [5]


> то будет ошибка компиляции - несовместимые типы - Integer
> и TConstr, что наводит на мысль, что тип функции High то
> го же типа, что и её параметр. Ещгда следует написать
>
>
> var I:Integer;
> I:=Integer(High(TConstr));
>
> и всё в шоколаде

Спасибо.


 
_RusLAN ©   (2007-01-31 19:29) [6]

>[3] DelphiLexx(c) 31-Jan-2007, 17:38
>
> for i := 0 to High(TConstr) - 1 do
>  AddConstraints(TConstr(i))

var
 i: TConstr
begin
...
 for i:= Low(TConstr) to High(TConstr) do
   AddConstraints(i);




Страницы: 1 вся ветка

Текущий архив: 2007.02.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.048 c
15-1170042568
Slider007
2007-01-29 06:49
2007.02.18
С днем рождения ! 27 января


2-1170403279
FF
2007-02-02 11:01
2007.02.18
Как dll узнать значение глобальной переменной, объявленной...


4-1159734008
vertal
2006-10-02 00:20
2007.02.18
Консоль: определение факта перенаправления stdout в файл


15-1169702424
BorisUK
2007-01-25 08:20
2007.02.18
PL SQL задачки, упражнения, у кого есть?


15-1169815239
zdm
2007-01-26 15:40
2007.02.18
Нумерация страниц