Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];




Вниз

ComboBox 


Evgeny   (2002-01-23 08:31) [0]

Имеем такой тип:
TAlign = (alNone, alTop, alBottom, alLeft, alRight, alClient);
каким образом это можно поместить в ComboBox? Ведь в инспекторе как то это сделано.



Rem   (2002-01-23 10:29) [1]

Помещаем:
ComboBox.Items.AddObject("alNone", TObject(alNone));
Получаем:
TAlign(ComboBox.Items.Objects[ComboBox.ItemIndex])



Evgeny   (2002-01-23 13:25) [2]

Все замечательно, но перерыв все исходники, я нигде не нашел ссылки на String. Каким образом Borland это умудрился сделать. Ведь ComboBox как раз и требует строкового представления итема, а они это как то обошли. Но как?
Данный тип:
TAlign = (alNone, alTop, alBottom, alLeft, alRight, alClient);
я взял просто для примера, но поглядите в инспектор - там полно таких "типов", помещеных в ComboBox. И не на один из них мне не удалось найти строкового соответствия.



vlv   (2002-01-23 13:46) [3]

Это где-то в RTTI сидит.



Юрий Зотов   (2002-01-23 13:54) [4]

См. модуль TypInfo, функция GetEnumName.

Пример:

type
TMyEnumType = (Ident0, Ident1, Ident2);

Вызов
GetEnumName(TypeInfo(TMyEnumType), 1)
возвращает строку "Ident1".

Вот и весь секрет.



Evgeny   (2002-01-24 11:14) [5]

Понял, спасибо.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.014 c
1-18861           Fellomena             2002-01-21 11:30  2002.02.07  
Объясните в чём ошибка (надеюсь не в ДНК ;)


3-18708           13-ый                 2002-01-09 23:43  2002.02.07  
Подскажите хорошую книжку по Oracle !


4-19037           Hair_Fly              2001-12-10 12:05  2002.02.07  
работая под юзером, запускать прогу с правами администратора.


14-18952          p@s                   2001-12-18 12:17  2002.02.07  
Пропали хинты


1-18875           Gabi100               2002-01-23 10:48  2002.02.07  
Прилипание формы