Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.043 c
15-1169863411
Hero
2007-01-27 05:03
2007.02.18
Народ возникла идея, нужно запустить музыку с моего компа в поток


15-1169431613
SerJaNT
2007-01-22 05:06
2007.02.18
Вопросы по Wi-Fi


2-1170318726
Lera
2007-02-01 11:32
2007.02.18
Имя процедуры


10-1129189029
DmitryNekl
2005-10-13 11:37
2007.02.18
Открытие запароленного xls-файла


6-1158032979
kotRec
2006-09-12 07:49
2007.02.18
Время на сервере




   Наверх