oracle form 6i菜单模块,利用DDE技术实现ORACLE FORMS 6i 中打开文件(如:EXCEL、WORD、图片、网页)的功能...

一、产生前因:

在ITPUB论坛中有人提出:如何在FORMS 中实现超链接,如何在FORMS中直接打开文本文档及图片等类似问题。

二、参考资料:

1、从FORM中导出数据到EXCEL例子(ExportTest.fmb);

2、有关FORM中超链接功能实现的例子(DDE.fmb);

三、功能描述:

过程 p_open_file(v_application VARCHAR2 , v_file_path VARCHAR2)   利用DDE内置程序包与程序库文件D2KWUTIL,实现了在ORACLE FORMS中直接打开文件    (如:EXCEL、WORD、图片)以及链接到指定网页的功能的。

四、过程代码:(具体FORM程序见下载中的文件:FORM中实现直接打开文件程序)

/*过程参数说明:

v_application ——打开文件的应用程序

v_file_path   ——带详细路径的文件名

*/

PROCEDURE p_open_file(v_application VARCHAR2 , v_file_path VARCHAR2) IS

v_app_id             PLS_INTEGER;

v_application_path      VARCHAR2(200); --应用程序路径

v_end_char              VARCHAR2(1);

BEGIN

--读注册表获取应用程序路径

v_application_path := Win_Api_Environment.Read_Registry('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\'||v_application,'Path');

--为做到打开文件的统一性,对应用程序路径做相应处理

v_end_char :=SUBSTR(v_application_path , LENGTH(v_application_path));

IF  v_end_char = ';' OR v_end_char = '\' THEN

v_application_path := SUBSTR(v_application_path , 1 ,LENGTH(v_application_path)-1);

END IF;

--打开文件

--注意:dde.app_begin()函数的第一个参数格式为:应用程序路径 + 空格 + 文件名(含路径)

--      由此为使文件名中含空格或桌面上的文件也能被打开,我们需给文件名加上双引号

v_app_id :=dde.app_begin(v_application_path||'\'||v_application||' '||'"'||v_file_path||'"' ,dde.app_mode_maximized);

--将光标定位到打开的文件中

dde.app_focus(v_app_id);

EXCEPTION  WHEN OTHERS THEN

MESSAGE('打开文件失败。');

END;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值