Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.042 c
2-1170357940
ZiTRaX
2007-02-01 22:25
2007.02.18
Ошибка при работе с директивой absolute


15-1169706061
Ega23
2007-01-25 09:21
2007.02.18
Всех Татьян - с Татьяниным днём!


15-1169567048
Kerk
2007-01-23 18:44
2007.02.18
Отстрел собак


3-1164615431
click
2006-11-27 11:17
2007.02.18
Где в TreeView хранить "ключ"?


15-1170012281
hmmm
2007-01-28 22:24
2007.02.18
http://www.ndw.ru/services/hosting.html





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский