Форум: "Основная";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];
ВнизКак совместить ShortString с множеством? Найти похожие ветки
← →
PVOzerski (2002-03-22 12:40) [10]Ребята, а вы в одно обстоятельство в приведённом коде въехали?
После того, как человек объявил,
TEcf = (TEdit, TMaskEdit);
он фактически переопределил TEdit, TMaskEdit, дав этим
словам другой смысл. BTW, он мог бы написать и
TEcf = (writeln, readln);
и формально это действие было бы правомочно, только смысл
writeln и readln поменялся бы. Естественно, сравнивать "новые"
TEdit и TMaskEdit с таковыми от VCL невозможно (открою "страшную тайну": TEdit и TMaskEdit после объявления типа TEcf стали просто 0 и 1, а количество занимаемых ими байтов зависит от значения {$Z}, но даже если оно 4, никакого отношения к соответствующим class of tEdit здесь нет).
Можно сотворить такое:
type
tEditClass=class of tEdit;
tEcf=(tEditID,tMaskEditID);
const
EcfID:array[tECF]of tEditClass=(tEdit,tMaskEdit);
и дальше маяться, сравнивая элементы массива с интересующим объектом через is, потом проверять вхождение подходящего индекса
массива в множество... Но, IMHO, этот огород городить не надо:
сочетание or и is безо всяких новых типов и множеств решит все проблемы!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c