Форум: "Основная";
Текущий архив: 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]Понял, спасибо.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c