- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
cKeyCfg::types_t cConfiguration::SearchInType(string type)
{
CTint i = 0;
const CTbyte * types[] = { "S", "D" };
for(i = 0; i < sizeof(types)/sizeof(types[0]); i++) {
if ( strcmp(type.c_str(),types[i]) == 0) {
switch (i) {
case 0: // Is string
return cKeyCfg::stringa;
case 1: // Is decimal
return cKeyCfg::decimale;
default: //Default value VT_BSTR
return cKeyCfg::unknow;
}
}
}
return cKeyCfg::unknow;
}
а если еще и отсортировать, то еще можно и bsearch использовать, для случая если типов и на самом деле будет много.
если бы писал не тормоз, даже по быстрой быструхе это было бы: if ("D") then decimal; else if ("S") then string; else unknown.