static void writeMsgTxt(CStdioFile &file, QID *qid) { CString tmp, nick, str; tmp.LoadString(IDS_MSG_OBJ); if (qid) { IcqContact *c = icqLink->findContact(*qid); if (c) nick = c->nick.c_str(); else nick = qid->toString(); str.Format("%s:%s(%s)\n", (LPCTSTR) tmp, qid->toString(), (LPCTSTR) nick); } else { str.LoadString(IDS_SYSMSG); str = tmp + ":" + str + '\n'; } file.WriteString("--------------------------------------------------\n"); file.WriteString(str); file.WriteString("--------------------------------------------------\n"); PtrList msgList; IcqDB::loadMsg(qid, msgList); while (!msgList.empty()) { IcqMsg *msg = (IcqMsg *) msgList.front(); msgList.pop_front(); if (!qid) nick = msg->qid.toString(); exportMsgTxt(file, msg, nick); delete msg; } file.WriteString("\n"); }