Показать сообщение отдельно
Старый 11.11.2006, 17:47   #10  
tolstjak is offline
tolstjak
Участник
 
440 / 16 (1) ++
Регистрация: 05.01.2003
Цитата:
Сообщение от gl00mie Посмотреть сообщение
К слову, по поводу одного из кусков кода:
X++:
int age;
str keyid = "Wassini";
 
age = m.exists(keyid) ? m.lookup(keyid) : 0;
m.remove(keyid);
m.insert(keyid, age + 1);
Я в исходниках AX встречал обновления без предварительного удаления старого значения, типа
X++:
if (m.exists(keyid))
    m.insert(keyid, m.lookup(keyid)+1);
хотя сам всегда старое значение предварительно удалял...
Найти нужное значение прилагаемым кодом в вышеуказанном мапе не получилось.
Написал следующее:
int age;
str keyid = "Bank";
str room;
int test30;
str room1;

i = 0;
im = new MapIterator(map);
while (im.more())

{
i = i + 1;
Info (con2str(map.lookup(i)));
room = con2str(map.lookup(i));
test30 = strFind(room, ",", 1,100);
room1 = Substr(room, 1, test30-1);
// con2str(map.lookup(i));
//age = map.exists(keyid) ? map.lookup(keyid) : 0;

if (strfmt("%1", room1) == keyid)

print i;
else

print "No!";
Pause;


}

im.next();

Поиск работает. Но насколько он хорош судить не мне.
Всем большое спасибо. Что хотел - получилось.
__________________
Александр