1.实现背景

在插入list行时用邮件的MessageID给对应行命名。

在回复全部邮件时,收件人变为之前收件人中出去“自己”同时加入之前发件人,抄送人还是之前的抄送人,密送人不用管,直接不用带。

在“回复全部”按钮响应函数里面

    CListUI* pList = static_cast<CListUI*>(m_PaintManager.FindControl(_T("middle_comlumn_header1")));//拿到list控件指针
            int index = pList->GetCurSel();//获取当前选中行
            CControlUI* pControl = pList->GetItemAt(index);//获取对应行控件指针
            string strMsgID = UTF(pControl->GetName().GetData());//获取对应行控件名字

const char* gszFile ="WebMail.sqlite";
            CppSQLite3DB *pDB=new CppSQLite3DB;
            pDB->open(gszFile);

string strSql;
            strSql="SELECT mFrom,mTo,mCc,mSubject FROM Email where mMessageID ='";//在数据库里面查到对应mMessageID记录
            strSql+= strMsgID;
            strSql+="'";
            CppSQLite3Query query=pDB->execQuery(strSql.c_str());

string StrFrom,StrTo,StrCC,StrSub,temp;
            StrFrom = query.getStringField("mFrom");
            StrTo=query.getStringField("mTo");
            temp=m_Imap.ms_User;//要除去的目标字符串
    
            int pos = StrTo.find(temp,0);//找到目标字符串所在位置
            StrTo=StrTo.substr(0,pos-1)+StrTo.substr(pos+temp.length(),StrTo.length()-(pos+temp.length()));
            StrTo+=";";
            StrTo+=StrFrom;

StrCC=query.getStringField("mCc");

StrSub=query.getStringField("mSubject");
            StrSub.insert(0,"RE: ");
            query.finalize();
            pDB->close();

vector<string> data;
            data.push_back(StrTo);
            data.push_back(StrCC);
            data.push_back(StrSub);

CWriteWnd* pWrite=new CWriteWnd(_T("WriteWnd.xml"),m_Imap,data);

pWrite->Create(NULL, _T("WriteWnd"), UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE | WS_EX_ACCEPTFILES);
            pWrite->CenterWindow();
            pWrite->ShowModal();

删除string类型字符串中指定字符串段的更多相关文章

  1. C#,.net获取字符串中指定字符串的个数、所在位置与替换字符串

    方法一: public static int indexOf (字符串/字符,int从第几位开始,int共查几位) string tests = "1absjjkcbfka2rsbcfak2 ...

  2. 1231: 删除字符串中指定的字符(Java)

    WUSTOJ 1231: 删除字符串中指定的字符 题目 原题链接 Description 明天就要英语考试了,小明明正在挑灯夜战背单词.小明明发现单词很难背,背一个忘一个.经过仔细研究,小明明发现单词 ...

  3. String substring(int start,int end)截取当前字符串中指定范围内的字符串

    package seday01;/** * String substring(int start,int end) * 截取当前字符串中指定范围内的字符串. * java api有一个特点:通常用两个 ...

  4. 将一个字符串进行反转:将字符串中指定部分进行反转。比如“abcdefg”反转为”abfedcg”

    将一个字符串进行反转:将字符串中指定部分进行反转.比如"abcdefg"反转为"abfedcg"方式一:转换为char[] public String reve ...

  5. python3 替换字符串中指定位置字符

    大家都知道字符串在python中是不可变数据类型,那么我们如何替换字符串中指定位置的字符呢? 字符串转换列表替换并转换解决: def replace_char(string,char,index): ...

  6. .NET获取Html字符串中指定标签的指定属性的值

    using System.Text; using System.Text.RegularExpressions; //以上为要用到的命名空间 /// <summary> /// 获取Htm ...

  7. C# - 怎么截取字符串中指定字符及其后面的字符

    方法1:去掉空格以及后面的字符   //怎么截取让date的值为"2011/12/9",即去掉空格以及后面的字符   string date = "2011/12/9 2 ...

  8. Excel中如何截取字符串中指定字符后的部分字符

    1.如何给某列属性为时间整体加一个时间值:      场景一:假如我有一个excel中的某一列如下图所示,如何将该列的时间(用B代替整列)整体加一分钟呢?方法很简单,在空白单元格填写时间格式图中A所示 ...

  9. python 统计字符串中指定字符出现次数的方法

    python 统计字符串中指定字符出现次数的方法: strs = "They look good and stick good!" count_set = ['look','goo ...

随机推荐

  1. How to disable a plugin when Jenkins is down?

    ===(different .jpi and bak and restore it )=== A plugin is preventing Jenkins to restart Environment ...

  2. vue之vue-cookies

    vue之vue-cookies npm链接:https://www.npmjs.com/package/vue-cookies 安装: npm install vue-cookies --save 使 ...

  3. JS中自定义replace可替换特殊符号$等,但无法忽略大小写的函数

    //可替换特殊符号$等,但无法忽略大小写的函数 String.prototype.replaceStr = function (s1, s2) { this.str = this; if (s1.le ...

  4. iis服务器配置

    对应的步骤在文件中上传了rar文件 1 .net framework 4.0 和 framework 4.5 直接安装程序  先安装4.0 再安装4.5 顺序不能颠倒!下载完直接安装 如果有会提示本机 ...

  5. 深入浅出TCP之listen

    原文:http://blog.chinaunix.net/uid-29075379-id-3858844.html int listen(int fd, int backlog); 有几个概念需要在开 ...

  6. [How to] ROOT, Backup & Flash (MTKDroidTools, Spflashtool, CWM)

    这是一篇来自xda论坛的文章,写得很详细,很有用,以下是原文: Hi This is a guide to ROOT, backup and flash your MTK65xx or Other d ...

  7. 《Bilateral Multi-Perspective Matching for Natural Language Sentences》(句子匹配)

    问题: Natural language sentence matching (NLSM),自然语言句子匹配,是指比较两个句子并判断句子间关系,是许多任务的一项基本技术.针对NLSM任务,目前有两种流 ...

  8. Hive中的三种不同的数据导出方式介绍

    问题导读:1.导出本地文件系统和hdfs文件系统区别是什么?2.带有local命令是指导出本地还是hdfs文件系统?3.hive中,使用的insert与传统数据库insert的区别是什么?4.导出数据 ...

  9. python socket编程函数介绍

    网上看到一个socket中常用函数的介绍,记录一下 https://blog.csdn.net/rebelqsp/article/details/22109925

  10. 20165207 2017-2018-2《Java程序设计》课程总结

    20165207 2017-2018-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:我期望的师生关系 预备作业2:学习基础与C语言调查反馈 预备作业3:Linux安装与命令 ...