Главная страница
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.069 c
4-1159539919
Dmitry_177
2006-09-29 18:25
2007.02.18
Кнопка на API


2-1169797326
ORMADA
2007-01-26 10:42
2007.02.18
TrayIcon


15-1169821933
oldman
2007-01-26 17:32
2007.02.18
Расскажите про подводные камни, плиз...


2-1170416926
Garacio
2007-02-02 14:48
2007.02.18
Как в Delphi получить букву системного диска?


2-1170397621
Максименко
2007-02-02 09:27
2007.02.18
DBF и структура файла