你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 编程语言
VC++开发邮政储蓄银行报表存储及分析系统(十)
 

CString sURL(URL->bstrVal);

    int id=sURL.ReverseFind('\\');      //反向查找"\/"

    if(id==-1)  sURL.ReverseFind('/');

    try

    {

        if(sURL.Mid(id+1).CompareNoCase("ToDialog"))

            throw(0);   //不是预定义的URL

        if(((PostData->vt) & (VT_VARIANT | VT_BYREF))==0)

            throw(0);

        VARIANT * v=PostData->pvarVal;

        if(((v->vt) & (VT_UI1 | VT_ARRAY))==0)

            throw(0);

        SAFEARRAY *pArr=v->parray;

        CString sData=(LPCSTR)pArr->pvData;     //至此,得到传送的数据流

        // 数据流的结构

        // 变量1=1&变量2=2&......变量n=n 

        CStringArray arrPart;

        while(TRUE)     //按照 '&' 进行拆分

        {

            id=sData.Find('&');

            if(id==-1){ arrPart.Add(sData); break;  }

            arrPart.Add(sData.Left(id));

            sData=sData.Mid(id+1);

        }

        CString sResult;

        for(int nPart=0;nPart<arrPart.GetSize();nPart++)

        {   //循环处理每个“变量=值”的部分

            CString sPart=arrPart.GetAt(nPart); //取出

            id=sPart.Find('=');

            ASSERT(id!=-1);

            CString sName = sPart.Left(id);     //变量名

            CString sValue= sPart.Mid(id+1);    //

            sName = WebStr2Str(sName);      //转换Web字符串到标准字符串

            sValue= WebStr2Str(sValue);

            sResult += sName+" = "+sValue+"<br>";

        }

        //以下是演示使用DHTML

        IHTMLDocument2 *pDoc=(IHTMLDocument2 *)m_explore.GetDocument();

        VARIANT *param;

        SAFEARRAY *sfArray;

        BSTR bstr = sResult.AllocSysString();

        sfArray = SafeArrayCreateVector(VT_VARIANT, 0, 1);

        if(sfArray && pDoc)

        {

            if(S_OK == SafeArrayAccessData(sfArray,(LPVOID*) & param))

            {

                param->vt = VT_BSTR;

                param->bstrVal = bstr;

                SafeArrayUnaccessData(sfArray);

                pDoc->write(sfArray);

            }

            SysFreeString(bstr);

            if (sfArray)    SafeArrayDestroy(sfArray);

        }

  推荐精品文章

·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 
·2023年7月目录
·2023年6月目录 
·2023年5月目录
·2023年4月目录 
·2023年3月目录 
·2023年2月目录 
·2023年1月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089