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

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

Массивы [D6, Win2k]


Сатир ©   (2002-06-23 20:04:00) 

Подскажите, пожалуйста, можно ли создать такой массив, чтоб индексы в нём были не целого типа, а перечисленного?
Напр.,
a[red]:="clRed", т. д. Где-то я видел такой пример в книжке по объектному Паскалю, но уже точно не помню, как точно это делается.:-(
Заранее благодарен за точные инструкции.


Magic   (2002-06-25 10:47:00) [1]

Of course


Юрий Зотов   (2002-06-23 21:45:00) [2]

И даже еще проще:

colors: array[tColors] of string;
a: array[TCustomType] of string;

И будет то же самое.


rhf   (2002-06-23 20:46:00) [3]

ну вообщето это видимо запись(record) ..... и когда ее объявляли, то полю value присвоили тип..... и только значения этого типа можно использовать работая с ним......

а зачем тебе это?


Сатир   (2002-06-23 20:36:00) [4]

и ещё один вопрос по массивам:
есть такой стандартный тип TIdentMapEntry
при объявлении масива этого типа нужно задать целое значение и строковое, напр.,
a:array[1..2]of TIdentMapEntry =
((value:100; name:"one hundred"),
(value:200; name:"two hundreds"));
а как сделать, чтоб полю value можно было бы присваивать значения перечисленного типа?


Сатир   (2002-06-23 20:16:00) [5]

о, уже сам вспомнил:
type TCustomType = (red, green, blue);
a:array[low(TCustomType)..high(TCustomType)]of string;


rhf   (2002-06-23 20:15:00) [6]

так пойдет?

type tColors = (red,yellow,white);
var
colors: array[low(tColor)..high(tColor)] of string;

......

colors[red]:="clRed";


Наверх

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