Главная страница
    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.45 MB
Время: 0.046 c
4-1159423982
Серге И
2006-09-28 10:13
2007.02.18
Как получить доступ к Bios из Windows


2-1170312897
Creative
2007-02-01 09:54
2007.02.18
Выравнивание по правому краю


2-1170397954
Lera
2007-02-02 09:32
2007.02.18
Запись в текстовый файл


15-1170099278
vasIzmax
2007-01-29 22:34
2007.02.18
Ну, на конец-то...


2-1170173772
alfavit
2007-01-30 19:16
2007.02.18
Мистика какая то, заполняю одну запись а данные пишутся





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский