利用DDE进行动态数据交换

利用DDE进行动态数据交换,第1张

利用DDE进行动态数据交换,第2张

在数据库应用程序中,经常需要与外部数据源交换数据。我们通常考虑使用ODBC,一种开放的数据库互连标准。它由ODBC驱动程序管理器和一系列使用SQL作为访问语言的驱动程序组成。必要时,ODBC驱动程序会翻译各种产品的SQL语言,使不同产品之间的连接变得完美,从而使连接另一个应用程序的数据成为可能,甚至可以用Visual FoxPro不直接支持的格式(如电子表格)提取和修改数据。由于ODBC早已被很多程序员所熟知,所以我们只讨论一种不太常用的方法:DDE。

- DDE是一种动态数据交换机制(DDE)。使用DDE通信需要两个Windows应用程序,其中一个作为服务器处理信息,另一个作为客户端从服务器获取信息。客户端应用程序向当前激活的服务器应用程序发送请求信息的消息,服务器应用程序根据该信息进行响应,从而实现两个程序之间的数据交换。在Visual FoxPro中,有十一个常用的DDE函数。它们是:

DDEAbortTrans()删除异步DDE处理。

DDEAdvise()与服务器应用程序建立热连接。

DDEEnabled()设置或返回DDE状态

DDEExecute()向服务器应用程序发送执行消息。

DDEInitiate()打开服务器应用程序的DDE仪表板。

DdeError()返回由DDE函数引起的最后一条错误消息。

DDEPoke()将数据库传输到客户端或服务器应用程序。

服务器应用程序请求数据。

DDESetOption()修改或返回DDE设置。

DDESetService()添加、删除和修改服务名的状态。

DDESetTopic()将服务名与标题名连接起来。

关闭DDE控制面板。

详细说明:Visual FoxPro可以用作DDE客户端或DDE服务器。当Visual FoxPro用作客户端时,一个典型的从其他应用程序请求数据输入的FoxPro程序由包含以下步骤的代码组成:

调用DDEInitiate()函数建立与服务器应用程序的连接。

如果成功建立了连接关系,将调用DDERequest()函数来请求来自服务器应用程序的信息输入。您可以重复调用DDERequest()函数来请求其他信息。

对数据的请求完成后,调用DDETerminate()函数技术与服务器应用程序的连接关系。这样才能释放系统资源。

当Visual FoxPro用作服务器时,响应其他应用程序数据请求的典型FoxPro程序由包含以下步骤的代码组成:

调用DDESetService()函数生成服务进程(建立服务进程名称)并指定服务进程的类型。

调用DDESetTopic()函数生成服务标题,并在客户端请求中设置标题时指定运行的进程。

生成DDESetTopic()中指定的过程,以接受传递给该过程的参数。客户端请求信息以调用该过程,该过程执行所请求的操作并将所请求的信息返回给客户端应用程序。

-应用程序之间的DDE会话可以使用冷连接、热连接和热连接。使用Visual FoxPro作为客户端时,建立的连接是冷连接;当Visual FoxPro用作服务器时,可以使用任何一种连接方法。您可以使用DDEAdvise()函数来初始化DDE热连接和热连接会话。传递给DDEAdvise()函数的参数之一是用户定义函数的名称,服务器应用程序调用该函数来通知客户端数据已被更改。因此,在热连接和热连接会话中,当数据源发生变化时,客户端可以根据服务器的通知自动更新数据。

-下面是一个使用DDE与Word交换数据的示例程序。该程序打开一个DOC文件,将其所有内容复制到剪贴板,然后关闭该文件并退出Word。

*启动应用程序Word

跑/N1 D:\WORD\WINWORD。可执行程序的扩展名

*建立DDE连接

Channel=DDEInitiate("WinWord "," System ")

*确定连接是否已经建立。

中频通道-1

Word应用程序。

=DDEExecute(通道,"[AppMaximize]")

*打开文件d: \ word \ test.doc

= DD execute(Channel,'[FileOpen "d:\word\test.doc"]')

*选择所有内容

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 利用DDE进行动态数据交换

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情