604
社区成员
发帖
与我相关
我的任务
分享
void Updatefriend() //change
{
MainForm->isupdatefriend = true;
multimap<AnsiString,USER>::iterator iter; //指向Friendset
USER *pTemp = NULL;
TTreeNode *node,*pnode,*nextnode;
for(pnode = MainForm->PNode->getFirstChild();pnode!=NULL;pnode=nextnode)
{
nextnode = MainForm->PNode->GetNextChild(pnode);
iter = MainForm->onlineuserset.find(((PUSER)(pnode->Data))->strLockid);
if(iter==MainForm->onlineuserset.end())
{
pTemp = new USER;
memcpy(pTemp,pnode->Data,sizeof(USER));
//ShowMessage("上线"+pTemp->strName);
node = MainForm->TvFriend->Items->AddChildObject(MainForm->LNode,pTemp->strName,pTemp);
node->ImageIndex = pnode->ImageIndex;
MainForm->TvFriend->Items->Delete(pnode);
pTemp = NULL;
}
else
{
pnode->Text =iter->second.strName;
pnode->ImageIndex = iter->second.iIndexofi;
memcpy(pnode->Data,&(iter->second),sizeof(USER));
}
}
for(pnode = MainForm->LNode->getFirstChild();pnode!=NULL;pnode=nextnode)
{
nextnode = MainForm->LNode->GetNextChild(pnode);
iter = MainForm->onlineuserset.find(((PUSER)(pnode->Data))->strLockid);
if(iter!=MainForm->onlineuserset.end())
{
pTemp = new USER;
memcpy(pTemp,pnode->Data,sizeof(USER));
//ShowMessage("下线"+pTemp->strName);
node = MainForm->TvFriend->Items->AddChildObject(MainForm->PNode,pTemp->strName,pTemp);
node->ImageIndex=iter->second.iIndexofi;
MainForm->TvFriend->Items->Delete(pnode);
pTemp = NULL;
}
}
MainForm->isupdatefriend=false;
}