03.05.2007, 12:37
|
#1
|
|
Участник
Регистрация: 28.11.2005
Адрес: Москва
|
Вот небольшой скрипт для поиска "проблемных" значений перечислений. У меня нашлось 418 значений в 190 перечислениях X++: // gl00mie, 20070503 -->
#AOT
static void AOTprintEnumValuesUnlabeled(Args _args)
{
TreeNodeIterator tnIterator;
TreeNode tnEnum;
DictEnum dtEnum;
boolean bEnumIsOk;
str strValueLabel;
int i;
int cnProcessed = 0;
int cnUnlabeled = 0;
int cnEnumsNotOk= 0;
;
tnIterator = TreeNode::findNode(#BaseEnumsPath).AOTiterator();
while(true)
{
tnEnum = tnIterator.next();
if(!tnEnum) break;
cnProcessed++;
dtEnum = new DictEnum(tnEnum.applObjectId());
if(!dtEnum)
{
error(strfmt(@"Failed to create DictEnum object for '%1\%2' (objectId %3)!",
#BaseEnumsPath, tnEnum.AOTname(), tnEnum.applObjectId()));
continue;
}
bEnumIsOk = true;
for(i=0; i<dtEnum.values(); i++)
{
strValueLabel = dtEnum.index2Label(i);
if(!strValueLabel)
{
cnUnlabeled++;
bEnumIsOk = false;
warning(strfmt(@"%1::%2 (value %3) has no label!",
dtEnum.name(), dtEnum.index2Symbol(i), dtEnum.index2Value(i)));
}
}
if(!bEnumIsOk)
cnEnumsNotOk++;
}
info(strfmt(@"%1 base enums processed, %2 unlabeled enum values found in %3 enums", cnProcessed, cnUnlabeled, cnEnumsNotOk));
}
// gl00mie, 20070503 <--
Последний раз редактировалось gl00mie; 03.05.2007 в 12:48.
Причина: приделал вывод числа "проблемных" перечислений
|
|
|
| За это сообщение автора поблагодарили: oip (10). |