Несложный джобик подсчитывает предложенный
mazzy показатель - степень кастомизации приложения:
X++:
static void calcApplCustomizeRatio(Args _args)
{
container cCustomize = ['axusr.aod','axusp.aod',
'axcus.aod','axcup.aod',
'axvar.aod','axvap.aod',
'axbus.aod','axbup.aod'];
container cStandard = ['axsys.aod','axsyp.aod',
'axgls.aod','axglp.aod',
'axdis.aod','axdip.aod',
'axlos.aod','axlop.aod'];
int i, sizeCustomize, sizeStandard, fileSize;
FilePath applPath = xInfo::directory(DirectoryType::Appl);
FileName fileName;
;
for (i=1;i<=conLen(cStandard);i++)
{
fileName = conPeek(cStandard,i);
if (WinAPI::fileExists2(applPath+fileName))
fileSize = WinAPI::fileSize(applPath+fileName);
else
fileSize = 0;
sizeStandard += fileSize;
info(strFmt('Standard file: %1, size: %2 bytes', fileName, fileSize));
}
info('----------');
for (i=1;i<=conLen(cCustomize);i++)
{
fileName = conPeek(cCustomize,i);
if (WinAPI::fileExists2(applPath+fileName))
fileSize = WinAPI::fileSize(applPath+fileName);
else
fileSize = 0;
sizeCustomize += fileSize;
info(strFmt('Customize file: %1, size: %2 bytes', fileName, fileSize));
}
info('----------');
info(strFmt('Standard size: %1 bytes', sizeStandard));
info(strFmt('Customize size: %1 bytes', sizeCustomize));
info('----------');
info(strFmt('Appl Customize Ratio: %1 percents', 100.*sizeCustomize/sizeStandard));
}