Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.08;
Скачать: CL | DM;

Вниз

Массивы   Найти похожие ветки 

 
Сатир   (2002-06-23 20:04) [0]

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


 
rhf ©   (2002-06-23 20:15) [1]

так пойдет?

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

......

colors[red]:="clRed";


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

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


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

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


 
rhf ©   (2002-06-23 20:46) [4]

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

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


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

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

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

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


 
Magic ©   (2002-06-25 10:47) [6]

Of course



Страницы: 1 вся ветка

Текущий архив: 2002.07.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
1-23529
strel
2002-06-24 17:20
2002.07.08
Подскажите, как заставить вернуть значение функции из DLL ??


14-23792
Agent Smith
2002-06-05 12:25
2002.07.08
Россия - Тунис 2:0!!!!!!!!!!!!!!!


1-23630
Tzota
2002-06-24 18:53
2002.07.08
Как прервать большой цикл?


1-23540
HellTRooper
2002-06-26 16:36
2002.07.08
RxRichedit


6-23705
Jeck
2002-04-26 01:12
2002.07.08
Подскажите где ошибка?