Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить номер элемента


Niko ©   (2006-09-14 20:26:00) 

Добрый вечер!
Подскажите как проще определить номер элемента, что бы не делать перебор. Есть тип:
TType1 = (vtList, vtInt, vtFloat, vtFrame, vtProc, vtStream)
a : TType1;
a := vtInt;
как получить порядковый номер этого значения? Обратная операция этой: a := TType1(1);


Niko   (2006-09-14 21:10:00) [1]

спасибо!
вашего поста с верху не увидел еще и повторился :)


Niko   (2006-09-14 21:09:00) [2]

вот так наверно integer(a)


DiamondShark   (2006-09-14 21:07:00) [3]

ord(a)
или
Integer(a)

первая функция существует в паскале с самого его рождения.


Niko   (2006-09-14 21:01:00) [4]

дык мне и нужно узнать порядковый номер элемента.

GetEnumName(TypeInfo: PTypeInfo; Value: Integer): string;
а в эту функцию как раз и нужно его засылать, что бы узнать имя.


default   (2006-09-14 20:54:00) [5]

GetEnumName


Niko   (2006-09-14 20:44:00) [6]

а как?


Niko   (2006-09-14 20:41:00) [7]

только в GetEnumValue(TypeInfo: PTypeInfo; const Name: string)
параметр - строка. Т.е. придется преобразовывать как-то значение в строку


Niko   (2006-09-14 20:34:00) [8]

похоже на то
спасибо


TUser   (2006-09-14 20:29:00) [9]

GetEnumName/GetEnumValue ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо