网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
如何用VC++和Visual Foxpro进行ActiveX数据通讯
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
  public:
       CMyTestDlg(CWnd* pParent = NULL); // standard constructor
    private:
       CDATA m_data; //定义CDATA类的实例m_data
    ……
   }
   ……

  5.在对话框的初始化部分(如InitDialog()函数中)加入

    m_data.CreateDispatch(“MyServer.CDATA);

  6.使用自动服务器的通讯编程

  此例中,我们在对话框中设置一命令按钮“Test”,通过点击该按钮
来对自动服务器进行测试。

void CMyTestDlg::OnButtonTest()
{
    //首先利用CDATA类的GetPara1()等取值函数取出Foxpro中的变量值,
    //再利用CDATA类SetPara1()等赋值函数来修改Foxpro中的这些变量值
    //也可以在VC++中调用CDATA类的函数CHANGEDATA()来修改变量值
    //定义tagVARIANT型变量,请参看有关tagVARINAT的帮助
    tagVARIANT mypara1, mypara2;
    mypara1=m_data.GetPara1();  //读取Foxpro中的变量值para1
    mypara2=m_data.GetPara2();  //读取Foxpro中的变量值para2
    //检验读取数据是否正确(Foxpro设定为123和123.123)
    if(mypara1.iVal==123)
       MessageBox("mypara1.iVal=123");
    if(mypara2.dblVal==123.123)
       MessageBox("mypara2.dblVal=123.123");
    //修改这些变量值(也可用调用CHANGEDATA()的方式来修改变量值)
    mypara1.iVal=mypara1.iVal*2; //整型变量乘以2
    mypara2.dblVal=mypara2.dblVal*2.0; //double型变量也乘以2
    m_data.SetPara1(mypara1);   //向Foxpro赋值
    m_data.SetPara2(mypara2);
  //再次读取Foxpro中的变量值
    mypara1=m_data.GetPara1();
    mypara2=m_data.GetPara2();
    //检验修改数据是否正确(应改为246和246.246)
    if(mypara1.iVal==246)
       MessageBox("mypara1.iVal=246");
    if(mypara2.dblVal==246.246)
       MessageBox("mypara2.dblVal=246.246");
}

  上面讲述在VC++中如何与Visual Foxpro 进行整型和双精度型变量的
数据通讯的方法。通过查看tagVARIANT结构的帮助文件,可以看到其中有
一个成员为VARTYPE vt。可以说vt是非常重要的,在VC++中读取Foxpro中
的数据后,vt 的值就决定了其数据的类型。在上例中,mypara1.vt等于3
而mypara2.vt等于5,表示它们的数据类型分别为整型和双精度型。在VC++
中也可根据tagVARIANT变量的vt值来判断所读取的数据的确切类型。我们
还可以看到,不同类型的数据,在VC++中的访问方式也有所不同。如整型
用 iVal,而双精度型用 dblVal,上例中分别为mypara1.iVal和mypara2.
dblVal。

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号